EJB timer的种类

2023-07-05   


从EJB容器的定时服务建立的Timer对象, Single Action Timer和Interval Timer, Single Action Timer是相对与间隔循环型Timer来讲的, Single Action Timer只有一次timeout。Single-Action time和Interval Timer第一次启动都各有两种方法:绝对时间启动和相对时间启动。
   所以总共有四种EJB timer
   1. 以绝对时间启动的Single Action Timer
   你可以指定一个绝对时间,但时间到达(timeout)时,这可以调用TimerService的方法来建立这个Timer:
   Timer createTimer(Date expirationDate, Serializable info)
   2. 以相对时间启动的Single Action Timer
   你可以指定一个相对于Timer简历的时间,当这个相对时间到达时,会调用Timeout方法一次,这个调用可以通过TimerService的一下方法来建立这个Timer:
   Timer createTimer(long duration, Serializable info)
   3. 绝对时间的Interval Timer
   你可以指定一个初始的绝对时间(initialExpiration), 当这个时间到达时,会调用Timeout方法,之后每个一段指定的时间(intervalDuration)就会重新调用Timeout方法一次, 建立这种Timer的方法:
   Timer createTimer(Date initialExpiration,long intervalDuration, Serializable info)
   4. 相对时间的Interval Timer
   你可以指定一个相对与Timer建立的时间(initialDuration), 当时间到达时就会调用Timerout方法,之后每隔一段指定的时间(intervalDuration)就会重新调用Timeout方法一次,以下是建立这种方法的例子:
   Timer createTimer(long initialDuration, long intervalDuration, Serializable info)
   这四个createTimer()方法的最后一个Serializable参数,可以设定给Timer对象, Timeout的调用方法中必须接受Timer对象最为参数,你可以用它的getInfo()方法来取得传入的Serializable对象,当多个Timer与Bean关联时,必须识别Timer时间是来之于哪个Timer,也可以根据传入的Serializable对象来判断。


相关内容:

  1. EJB2和EJB3在架构上的不同点
  2. Ejb技术面试题
  3. JSP和EJB可以共享HttpSession么?EJB里面可以改变session里面的内容
  4. EJB的角色和三个对象
  5. 介绍一下EJB的体系结构
  6. EJB面试题