`
messi_18
  • 浏览: 96575 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

梳理解决一个问题的思路

阅读更多
这几天一直在被一个问题纠结:一个stateful session bean的实例变量中保存了一个ResultSet的实例,但是,当这个实例在该bean的一个方法中被创建后,从该方法返回后却发现这个ResultSet实例被关闭了。

这个问题我最初的第一直觉是,一定是什么地方调用了ResultSet的close方法。经过,一次又一次的调试断点可以断定没有调用这个方法。这时候觉得似乎和事务相关,觉得是某次调用抛出了异常,导致事务退出。但是,现在再想想,即使是有异常,也不是根本原因。根本原因还是事务相关。

由于一直没有明确的思路,这个问题就放了几天一直到昨天。这次我决定把之前down掉的调试环境搭建起来。因为我的调用是从另一个虚拟机发起。现在,想想这一步也不是必须的。其实完全可以找到那个方法的调用点,打上断点就可以断定是从哪个分支过来的。

确定了上游调用逻辑后,思路就清晰起来了: stateful session bean中定义的几个方法是业务方法,在一个上游方法中,被依次调用。问题是,第一个方法A创建并保持了一个ResultSet的实例,后续的方法B,C都依赖于这个ResultSet实例。当方法B被调用时,报了一个错:ResultSet already close。

此时,我开始关注这个Bean的事务,它是容器管理的事务。类型是Required。上游调用方法是一个普通类的方法没有事务关联,所以,每次调用方法A就会重新发起一个事务。这时候,我想是不是因为这里的问题?每次方法返回,事务就终结于是在事务中创建的ResultSet实例就close了。

为了验证我的想法我把事务的类型改成了Supports。这样如果调用方没有事务,会话bean的方法A就不会关联到一个事务。改完之后重起application server,运行case结果通过了。看来真是这里的问题。

现在的疑问是这个问题是怎么引入的?联想到系统刚刚升级到了EJB3,很多配置从XML文件一道了类中。于是查看了原来的配置文件,发现原来事务的类型是Bean,但是Bean中并没有用到事务,所以相当于没有事务。现在,升级的时候把它搞错了写成了Container。

重头梳理这个问题的解决思路,其实如果先去看改动历史应该能很快的确定问题所在。我也确实这么做了,但是只看了类文件的改动历史没有看配置文件。还是,问题定位的不准确。

分享到:
评论

相关推荐

    解决矿山环境问题的“九节鞭”

    采用系统工程思路,运用“九节鞭”手段,围绕矿山环境问题梳理、调查、评价与预测、修复治理技术与模式、矿山土地适宜性评价、监测与预警、信息系统研发、法规标准和矿山环境管理等9个方面探讨了逐步攻克和解决矿山...

    制造行业物料编码管理思路及解决方案极简版V1.0.pdf

    制造行业物料编码管理思路及解决方案极简版V1.0.pdf

    程序员年度总结报告思路

    • 要突出表现个人解决问题的思路以及所获得的工作成果。在做成果展示时,要避免流水账式的总结,一定学会用数据汇报,从工作中梳理出重点指标、重点项目,以“数据展示 + 数据分析 ”的形式,结合图表可视化,让...

    勘察设计企业生产计划管理问题及对策探讨

    为解决勘察设计企业在计划管理传统模式向新型计划管理模式变化过程中存在的一系列问题,梳理了勘察设计企业生产计划管理现状及存在的问题,包括:"内部化"的生产计划管理工作,"伪动态"的计划管理工作,"非专业"的计划...

    精品企业信息化整体解决方案完整版.rar

    我们呈现的“【精品】企业信息化整体解决方案完整版.rar”,是一份针对企业IT规划的综合性解决方案文档,它旨在帮助企业构建一个高效、稳定且可持续发展的信息架构。这份资料精心梳理了从需求分析到系统部署、再到...

    基于大数据平台的数据治理思路.doc

    2.2 实施路线 大数据平台的规划是要搭建一个高质量、易于分析的数据集市,集中各业务系统数据 ,并搭建数据资产目录框架,在此基础上展开各现有接入系统数据的清洗、规范、治理 等工作。 目前数据治理流程包括下面...

    期末计算机组成原理选填(做题笔记)

    本笔记集旨在帮助学生整理和总结计算机组成原理相关知识,并提供针对该课程的习题解析和解决思路。这些做题笔记涵盖了课程中的重点概念、难点问题以及常见的考察方向,帮助学生更好地理解和掌握计算机组成原理的内容...

    一站攻克前端效率工程化难题-视频教程网盘链接提取码下载 .txt

    随着 Web 业务日益复杂化和多元化,前端...专栏梳理了前端开发工作流程中和效率提升相关的知识点和案例,为你构筑一个系统性的前端效率知识体系,建立正确的问题解决思路,让你进行效率优化时有据可依。 视频大小:1G

    水下光学图像中目标探测关键技术研究综述

    对水下图像预处理和目标检测识别、跟踪关键技术进行了详细的归纳总结。...通过对以上各个过程研究成果的总结分析,梳理了水下目标探测各关键技术中存在的重点解决问题与相关难点问题,讨论了其解决思路和进一步发展方向。

    思维导图 bug处理工具

    思维导图在解决了人们整理思路、梳理框架等问题的同时,偶尔也会带来一些不变,例如程序突然不响应,本工具可以很好解决这一问题。

    刘异:云计算赋能智慧政务.7z

    智慧政务发展概述,现在智慧政务面临什么挑战,重点要解决什么问题;梳理问题之后,形成解决的思路;基于形成的思路,落地解决方案的实现;我们做过的成功案例的展示分享

    分布式事务.pdf

    分布式事务实现的难点,解决思路,不同场景下方案的选择,通过图解的方式进行梳理、总结和比较。相信耐心看完这篇文章,谈到分布式事务,不再只是有“2PC”、“3PC”、“MQ的消息事 务”、“最终一致性”、“TCC”等...

    详解基于mpvue微信小程序下载远程图片到本地解决思路

    最近有些空余时间开始着手优化我那个吉他自学小助手的微信小程序,其中有一个功能是下载吉他谱到本地,开始以为只是很简单的拿到图片url然后down下来就好了,其实不然…最终通过google解决了这个问题,现在记录一下...

    你认为什么样的产品是好产品

    在与人交流中,我们应当避免用压力测试作为回避问题的借口,而应当用逻辑清晰、说服力强的方式去回应每一个挑战。产品经理的工作,本质上就是一个自我深思、并努力说服他人的过程。我们需要用逻辑清晰地梳理自己的...

    大数据平台常用组件-常见的大数据平台架构设计思路.pdf

    会导致业务层 难以直接利⽤⼤数据⼤数据,⼤数据和业务产⽣了巨⼤的鸿沟,这道鸿沟的出现导致企业在使⽤⼤数据的过程中出现数据不可知、需求难实 现、数据难共享等⼀系列问题,本⽂介绍了⼀些数据平台设计思路来帮助...

    数据分析报告编写方法总结.pdf

    分析报告编写方法总结 确定分析思路 制作分析口径 沟通提取数据 数据处理 攥写分析报告 制作分析口径 分析口径就是给定一个数据提 取的规则,即范围,以方便取数人员 进行数据的提取。分析口径的制作, 主要还是...

    《网络攻击与防范图谱》,一图到底,打尽网络安全攻防全链条!

    《网络攻击与防范图谱》,一图到底,打尽网络安全攻防全链条!...本图谱采用层层关联关系,紧密关联攻-防手段、安全产品与服务,从全局视角给出客观、合理的建议,帮助用户进一步识别、了解网络攻击过程及解决思路。

    5G核心网云化部署需求与关键技术白皮书

    5G核心网采用原生适配...白皮书总结了5G核心网云化部署的研究成果,梳理了5G核心网在云化NFV平台上的部署需求,给出5G核心网在云化组网、部署和演进的基础框架,并进一步探讨了部署方案中关键问题的解决和面临的挑战。

    亿级流量网站架构核心技术 高清完整版 带书签 pdf

    亿级流量网站架构核心技术》一书总结并梳理了亿级流量...不管是软件开发人员,还是运维人员,通过阅读《亿级流量网站架构核心技术》都能系统地学习实现亿级流量网站的架构核心技术,并收获解决系统问题的思路和方法。

Global site tag (gtag.js) - Google Analytics