问题1
为了实现多个定时器,多次调用createTimer(),可以吗?
public void scheduleTimer() {
   
     //TODO something,创建第一个定时器     
     ctx.getTimerService().createTimer(.....);
   
     //TODO something else,创建第二个定期
     ctx.getTimerService().createTimer(.....);
}
问题2
如果上述写法可以,那么遇到定时器_1 和定时器_2 同时timeout是,如何协同调用timeoutHandler()?
   
谢谢
EJB ejb

解决方案 »

  1.   

    ejb中不是有个@Schedule注解吗,直接用这个注解就行了,一个注解就是一个定时器,每个定时器之间是异步的
      

  2.   

    楼上说的对,用@Schedule就好了
    每个定时搞个@Schedule,
      

  3.   

    谢谢楼上 
    我后来是这么实现的//schedule timers
    public void scheduleTimer() {
       
         //TODO something,创建第一个定时器     
         ctx.getTimerService().createTimer("TIMER_1");
       
         //TODO something else,创建第二个定期
         ctx.getTimerService().createTimer("TIMER_2");
    }//timeout handler
    @Timeout
    public void timeoutHandler(Timer timer) throws RemoteException {
      if (timer.getInfo().equals("TIMER_1")){
         //TODO something
      }else if (timer.getInfo().equals("TIMER_2")){
         //TODO something
      }}