咨询自动化EJB Timer

时间:2015-10-26 12:42:00

标签: java-ee glassfish ejb-3.1

如何监控我的应用程序中的ejb计时器。 例: 当ejb失败时,我需要发送一封电子邮件admnistrador User。

今天通过访问链接glassfish:/ ejb-timer-service-app / timer手动完成视图,当验证没有激活ejb时,必须重新启动应用程序。

1 个答案:

答案 0 :(得分:0)

如果您的问题意味着您希望以更方便的方式访问JavaEE中的计时器功能,而不是通过JNDI访问,则可以使用TimerService@Schedule注释 - Java EE tutorial secion中的更多详细信息

您可以使用TimerService注释将@Resource注入EJB:

@Singleton
@LocalBean
@Startup
public class IntervalTimerDemo {

    @Resource
    private TimerService timerService;

    @PostConstruct
    private void init() {
        timerService.createTimer(1000, 2000, "IntervalTimerDemo_Info");
    }

    @Timeout
    public void execute(Timer timer) {
        System.out.println("Timer Service : " + timer.getInfo());
        System.out.println("Current Time : " + new Date());
        System.out.println("Next Timeout : " + timer.getNextTimeout());
        System.out.println("Time Remaining : " + timer.getTimeRemaining());
        System.out.println("____________________________________________");
    }

}