0
我正在使用的服务器是GlassFish,但在Weblogic上也会出现此问题。检测EJB数据源客户端断开
我的客户端机器开始一个事务,从服务器查找几个EJB并开始一些需要一段时间才能完成的工作。在这个过程中,客户机死了(我们说一个powercut)。
由客户端机器打开的数据库查询从不关闭(因为客户端终止),这会导致死锁和其他问题。
有什么办法可以检测到这个死循环并回收所有资源吗?
下面
transaction.begin();
MyBean bean = (MyBean)ctx.lookup("MyBean");
bean.doComplicatedWorkPart1();
bean.writeResultsToTheDatabase();
// Client dies during this method (powercut), so the transaction
// is simply left hanging.
bean.doComplicatedWorkPart2();
bean.writeResultsToTheDatabase();
transaction.commit();
谢谢,我认为这可能是一个棘手的情况下处理。它并不经常发生,但当它发生时可能会造成滋扰。 –