EJB定时器及其优缺点

定时器分为两种:single-action Timer(单动定时器)和interval  Timer(间隔定时器)。

为了使用定时服务,1.enterprise bean必须实现javax.ejb.TimedObject接口,该接口定义了一个回调方法,ejbTimeout().

package javax.ejb;

public interface TimedObject{

           public void ejbTimeout(Timer timer);

}

2.在EJB3.0中,还可以使用@javax.ejb.Timeout注解来指定回调方法。此方法必须返回void,并接受一个javax.ejb.Timer类型的参数。

开发者有3种获得TimerService对象的可用方式。

1.通过EJBContext获得TimerService实例。

2.使用JNDI API查找到TimerService对象,从而能够访问到定时器服务。

3.还可以借助于依赖注入 获得TimerService对象,

@Resource  javax.ejb.TimerService    timerService。

TimeService接口为enterprise bean 访问EJB容器的定时服务提供 了支持,利用它可以创建新的定时器,列出已有的定时器。

优点:

1.EJB定时器服务提供的任务调度语义与平台无关。

2.EJB定时器服务允许开发者通过编程实现定时器的定义和设定。

3.最后,同Flux或Quartz相比,EJB定时器服务提供了标准化接口。

缺点:

1.EJB规范不支持在部署描述符或Annotation注释中声明Timer间隔。

2.EJB定时器服务中的定时器的使用不够灵活。定时器API仅能处理单位为毫秒的时间。如果能够依据小时、日、月方式指定定时器的行为,则EJB定时器服务的使用也将变的更加容易。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值