EJB CMT和事务超时



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

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

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

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

谢谢!

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

  1. 重新构建您的解决方案,以使用MDB对长时间运行的任务进行异步执行
  2. 用户UserTransaction和setTransactionTimeout设置特定事务的事务超时
  3. 为该功能创建一个单独的CMT bean,并在xml中指定独占事务超时

相关内容

  • 没有找到相关文章

最新更新