【问题标题】:EJB CMT and transaction timeoutEJB CMT 和事务超时
【发布时间】:2011-11-15 04:39:58
【问题描述】:

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

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

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

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

谢谢!

【问题讨论】:

    标签: transactions ejb ejb-2.x


    【解决方案1】:

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

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

    【讨论】:

    • 我很想知道如何应用解决方案 3
    • 有趣,我认为它会像在 jboss/weblogic 中一样简单,但显然不是:)。无论如何,我找到了可能有帮助的东西:docs.jboss.org/seam/snapshot/en-US/html/websphere.html - 查看第 40.4 节。为有状态会话 Bean 配置超时
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 2013-08-15
    • 1970-01-01
    相关资源
    最近更新 更多