问高手,Hibernate Exception: Session is currently disconnected

:) 系统已经运行4年,框架为strtus1.2 + hibernate2.0 + weblogic812 + oracle817, 并利用了weblogic的连接池.
最近在weblogic的日志中开始濒繁的出现"[b]Session is currently disconnected[/b]",每当出现这个错误的时候就必然会导致客户端的操作失败,但当没有打印这个错误的时候操作是成功的,就说明连接池的connection有些是null有些不是null,根据提示的错误分析,并翻阅了hibernate的源码,发现session中的connection=null会报这个错误.
这个时候开始怀疑是否网络的间歇的经常的中断导致,仔细分析后给排除;
在怀疑代码的问题,仔细分析后还是排除;
服务器是否有病毒,还是排除;
.....,在排除一系列的问题后,上网搜查很少有这类问题的描述,即使有,也不是同一个原因产生的,然后利用google,在hibernate.org的论坛上有人提示:
if (!hsession.isConnected())
hsession.reconnect();
在最初看了这段代码的时候,就发现如果在一个事务的中间过程发生connection=null,在利用该代码就会在一个事务中产生两个及以上connection,就会导致成个事务的操作失败,不可取.

还有一个重要的现象就是周末两天当访问的人不是很多的时候没有这个错误产生,加之联想到以前发生的一些事情给了些许启发(以前做过一套系统,有客户端一访问就会导致tomcat服务器停止工作,但有的客户端就没有问题,在对有问题的客户端杀毒后,该问题解决),就开始怀疑是不是有木马?同时今天联想到可以利用程序不断的访问weblogic的连接池,看什么时候会有connection=null,这个时候根据日志去抓取导致产生这个错误的电脑.
希望高手可以指点迷津!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值