如何监控我的应用程序中的ejb计时器。 例: 当ejb失败时,我需要发送一封电子邮件admnistrador User。
今天通过访问链接glassfish:/ ejb-timer-service-app / timer手动完成视图,当验证没有激活ejb时,必须重新启动应用程序。
答案 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("____________________________________________");
}
}