使用EJB Timer在WebSphere中的Bean事务超时

Eva*_*tti 6 java websphere timeout java-ee ejb-3.0

使用JBoss/Wildfly,可以使用@TransactionTimeout专有注释并为特定会话Bean定义事务超时.

使用IBM WebSphere执行此操作的等效方法是什么?

我们正在使用EJB Timer,其中一个Bean将在一个多小时内完成.

Wildfly的示例代码:

import org.jboss.ejb3.annotation.TransactionTimeout;

@Stateless
@TransactionTimeout(value=7200)
public class TimerBean {

}
Run Code Online (Sandbox Code Playgroud)

注意:使用WebSphere 8.5.修改全局事务时间不是一个选项,我们需要为特定的会话Bean或可能的应用程序(EAR)执行此操作.

Gas*_*Gas 7

对的,这是可能的.您可以transaction-time-out在自定义扩展ibm-ejb-jar-ext.xml文件中设置它.

在该文件中定义:

<session name="TimerBean">
        <global-transaction transaction-time-out="7200"/>
</session>
Run Code Online (Sandbox Code Playgroud)

组件事务超时
对于仅使用容器管理事务的企业Bean,指定容器代表企业bean启动的任何新全局事务的事务超时(以秒为单位).对于代表组件启动的事务,"组件事务超时"设置将覆盖在应用程序服务器的事务服务设置中配置的缺省总事务生存期超时.

有关更多详细信息,请选中配置事务部署属性