0

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

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

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

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

谢谢 !

4

1 回答 1

0

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

  1. 重新构建您的解决方案以使用 MDB 处理长时间运行的任务以异步执行它们
  2. 用户UserTransaction和 setTransactionTimeout 为特定事务设置事务超时
  3. 为此功能创建一个单独的 CMT bean,并在 xml 中指定了独占事务超时
于 2011-09-12T09:46:02.150 回答