meb*_*ada 17 java jboss timer ejb-3.0
我是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");
}
}
Run Code Online (Sandbox Code Playgroud)
然后叫它
timer = timerService.createTimer(10, 5000, null);
Run Code Online (Sandbox Code Playgroud)
它运作良好.我创建了一个客户端类,它调用一个创建计时器的方法和一个在计时器超时时调用的方法.
我忘记打电话取消然后它不会停止.redeploy取消呼叫从不停止它.重启Jboss 4.2.3从不停止它.我怎么能停止EJB计时器?谢谢你的帮助.
Dav*_*nni 27
public void stop(String timerName) {
for(Object obj : timerService.getTimers()) {
Timer t = (Timer)obj;
if (t.getInfo().equals(timerName)) {
t.cancel();
}
}
}
Run Code Online (Sandbox Code Playgroud)