Transactions Jboss 5 EJB 2在长时间运行的查询上的事务超时

Transactions Jboss 5 EJB 2在长时间运行的查询上的事务超时,transactions,jboss5.x,Transactions,Jboss5.x,在JBossAS5.1中,我们在Jboss.xml中为EJB配置了一些事务超时(例如1000秒) 问题在于,对于长时间运行的查询,事务在1000秒后回滚,但应用程序仍在等待查询返回(例如,在1200秒后) 是否有可能在1000秒后停止查询并返回响应 我们在jboss 5.1.0 GA中使用oracle数据库 问题在于,对于长时间运行的查询,事务在1000秒后回滚,但是 应用程序仍在等待查询返回 事务超时限制的目的是避免长时间运行的事务将数据库资源锁定在一个 可接受的时间段。 无法保证执行业务逻辑

在JBossAS5.1中,我们在Jboss.xml中为EJB配置了一些事务超时(例如1000秒)

问题在于,对于长时间运行的查询,事务在1000秒后回滚,但应用程序仍在等待查询返回(例如,在1200秒后)

是否有可能在1000秒后停止查询并返回响应

我们在jboss 5.1.0 GA中使用oracle数据库

问题在于,对于长时间运行的查询,事务在1000秒后回滚,但是 应用程序仍在等待查询返回

事务超时限制的目的是避免长时间运行的事务将数据库资源锁定在一个 可接受的时间段。 无法保证执行业务逻辑的线程在 事务超时过期

是否有可能在1000秒后停止查询并返回响应

我认为您需要的是将查询执行与客户端分离,为了实现这一点,您可以异步执行查询

自Java6以来,这可以通过使用来实现。 其思想是将查询公开为异步服务。一旦调用了服务(查询),客户端就不需要等待查询完成。请注意,尽管查询是异步执行的,但保持超时限制很重要