Transactions EJBCMT和事务超时

Transactions EJBCMT和事务超时,transactions,ejb,ejb-2.x,Transactions,Ejb,Ejb 2.x,在Websphere7环境中,容器被设置为对所有CMT会话bean中持续时间超过120秒的任何事务超时 然而,我被要求在我们的一个EJB中添加一个特性,并且继续它的时间将大于这个超时(大约20分钟)。由于这是一个一次性功能,我真的不想增加事务超时,因为它会影响所有其他bean 可以声明bean或特定会话bean中的一个方法有自己的超时延迟吗 如果这不可能,我想我唯一的解决方案就是创建一个CMTBean 谢谢 我不知道websphere7,对于Jboss,你有类似的东西,也许你会发现websphe

在Websphere7环境中,容器被设置为对所有CMT会话bean中持续时间超过120秒的任何事务超时

然而,我被要求在我们的一个EJB中添加一个特性,并且继续它的时间将大于这个超时(大约20分钟)。由于这是一个一次性功能,我真的不想增加事务超时,因为它会影响所有其他bean

可以声明bean或特定会话bean中的一个方法有自己的超时延迟吗

如果这不可能,我想我唯一的解决方案就是创建一个CMTBean


谢谢

我不知道websphere7,对于Jboss,你有类似的东西,也许你会发现websphere7也有类似的东西。如果没有,在我看来,你有3个选择

  • 重新构建解决方案,将MDB用于长时间运行的任务,以异步执行它们
  • User和setTransactionTimeout可设置特定事务的事务超时
  • 为该功能创建一个单独的CMTBean,并在xml中指定独占事务超时

  • 我想看看如何应用解决方案3(有趣的是,我原以为它会像jboss/weblogic中一样简单,但显然不是:)。无论如何,我发现smth可能会有所帮助:-查看第40.4节。为有状态会话bean配置超时