我是EJB 3的新手。我使用以下代码启动无尽的EJB 3计时器,然后将其部署在JBOSS 4.2.3上
@Stateless public class SimpleBean implements SimpleBeanRemote,TimerService { @Resource TimerService timerService; private Timer timer ; @Timeout public void timeout(Timer timer) { System.out.println("Hello EJB"); } }
然后叫它
timer = timerService.createTimer(10, 5000, null);
效果很好。我创建了一个客户端类,该客户端类调用一个创建计时器的方法和一个在计时器超时时调用的方法。
我忘了打电话给cancel,然后它不会停止。redeploy with cancel call从不停止它。重新启动Jboss 4.2.3永远不要停止它。如何停止EJB计时器?感谢您的帮助。
public void stop(String timerName) { for(Object obj : timerService.getTimers()) { Timer t = (Timer)obj; if (t.getInfo().equals(timerName)) { t.cancel(); } } }