首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javax.ejb.Timer在短时间内重新启动

javax.ejb.Timer在短时间内重新启动
EN

Stack Overflow用户
提问于 2014-01-26 08:37:15
回答 1查看 131关注 0票数 0

下面是我在@Stateless bean中的计时器服务。

代码语言:javascript
运行
复制
@Resource
private TimerService timerService;

我正在创造一个定时器

代码语言:javascript
运行
复制
int timeout = 10;
Timer timer = timerService.createTimer(timeout * 1000, timerId);

我的超时

代码语言:javascript
运行
复制
@Timeout
public void handleTimeout(Timer timer){

   // This method process a task that requires
   // 60-80 minutes on an average

}

但奇怪的是,我的handleTimeout()在5-6分钟后重新启动。再过5-6分钟,它就会得到一个Exception并停止处理。

我只想通过@Timeout运行该方法一个小时。我在这里错过了什么?

显然,我可以使用Quartz或异步任务调度程序来克服这一点。但想知道我的代码是怎么回事。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-28 07:19:25

我又一次解决了我的问题。在我的Jboss7.1 standalone.xml文件中,下面的内容使我的进程在5分钟后超时。

代码语言:javascript
运行
复制
<coordinator-environment default-timeout="300"/>

我增加了这个值,以扩展整个过程,而且它起了作用。例如,3000秒,50分钟。

对于我的Jboss EAP 6.2,我不需要更改这个配置。只是在方法上添加这个注释对我来说是有效的。备注:这在Jboss7.1不起作用

代码语言:javascript
运行
复制
// import javax.ejb.TransactionAttribute;
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)

希望有一天我的回答会对某人有所帮助:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21361395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档