设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[面试题库] EJB timer的种类

[复制链接]
跳转到指定楼层
楼主
发表于 2014-11-30 15:59:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从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对象来判断。
回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-5-15 16:19 , Processed in 0.240093 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表