EJB CMT和事务超时

时间:2011-09-12 09:29:55

标签: transactions ejb ejb-2.x

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

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

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

如果那是不可能的,我想我唯一的解决办法就是创建一个CMT bean?

谢谢!

1 个答案:

答案 0 :(得分:0)

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

  1. 重新构建您的解决方案,以便将MDB用于长时间运行的任务,以异步方式执行它们
  2. 用户UserTransaction和setTransactionTimeout设置特定交易的交易超时
  3. 创建一个单独的CMT bean,其中包含xml中为此功能指定的独占事务超时