列出具有多个EJB模块的EAR中的所有计时器

时间:2017-08-28 13:23:26

标签: java timer scheduler ear ejb-3.1

我需要获取我的EAR项目的所有计时器,但如果我使用:

@Stateless
@LocalBean
public class ScheduleManagment {

@Resource
private TimerService tsvc;
public List<ScheduledTimerInfo> getAllTimers() {
    return tsvc.getAllTimers()
            .stream()
            .map((timer)  -> new ScheduledTimerInfo(timer))
            .collect(Collectors.toList());
}
}

只获取此EJB容器的计时器,我需要获取我的EAR项目多模块的所有计时器。任何的想法?感谢

1 个答案:

答案 0 :(得分:0)

Java API规定,getAllTimers()中只列出同一模块上的定时器。

Interface TimerService - method getAllTimers()

  

返回与bean 相关联的所有活动计时器   打包调用者bean的模块。这些都包括   以编程方式创建的计时器和自动创建的计时器。

也许您应该考虑为每个模块构建一种REST接口。 我最近在这个角度找到了一个有一些想法的网站。请看看:

RESTful timers in Java EE / Posted on July 13, 2015