gpt4 book ai didi

jakarta-ee - EJB TimerService 行为

转载 作者:行者123 更新时间:2023-12-04 13:50:16 24 4
gpt4 key购买 nike

我有一个使用 TimerService 的应用程序,我正在创建一些计时器来运行特定任务。它工作正常。但是,我注意到超时有些延迟。我有一个超时“A”计划每 10 分钟运行一次,另一个“B”计划每 3 分钟运行一次。如果“A”需要 5 分钟才能运行,“B”只会在“A”结束后运行,造成 2 分钟的延迟。这是一个问题,因为事情没有按预期准备就绪。我的问题是,是否有办法让 TimerService 同时运行。我正在使用的代码片段如下。感谢您的帮助。

计划创建:

// Every schedule extend from this class.
public abstract class Schedule {
@Resource
private TimerService timerService;

public void start() {
TimerConfig timerConfig = new TimerConfig();
timerConfig.setInfo(name);
timerConfig.setPersistent(false);
timerService
.createCalendarTimer(this.calendarSchedule, timerConfig);
}

}

计划实现:

@Named
@Stateless
public class MyScheduleEJB extends Schedule {
@Timeout
public void timeout(Timer timer) {
// do the work
}
}

最佳答案

这是应用服务器中非常特殊的情况。但是如果其他人有同样的问题,Websphere(不确定其他AS)中有一个配置告诉定时器池应该使用多少线程。默认值仅为 1,这就是它没有同时运行的原因。配置:WAS Config

关于jakarta-ee - EJB TimerService 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17660143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com