首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CommonJ TimerManager与EJB3 TimerService

CommonJ TimerManager与EJB3 TimerService
EN

Stack Overflow用户
提问于 2011-07-07 07:12:05
回答 3查看 5.2K关注 0票数 8

我必须为WebLogic实现一个简单的(而不是集群的)定时器,而且似乎有两个不同的“标准”选项

(CommonJ)

  • EJB3.0
  • 计时器和工作管理器API TimerService

是否有人对使用CommonJ TimerManager和在WebLogic 10.0中使用EJB3 TimerService有任何建议?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-09 16:29:01

EJB3.0中的TimerService与CommonJ计时器管理器相比有些限制。例如,它需要样板代码和特定于容器的配置来实现灵活的任务调度.通过在EJB 3.1中引入@Scheduled注释,简化了这一点。

如果您坚持使用EJB3.0,并且需要轻松灵活的可配置任务调度,那么CommonJ计时器管理器API是一个可行的选择。

此外,Spring中的任务调度程序( Task )在抽象计时器管理器API方面做得很好,并允许使用cron表达式进行声明性配置。

票数 4
EN

Stack Overflow用户

发布于 2013-02-23 02:47:25

CommonJ最初是在JSR 237下提出的,2008年被撤回,并合并到Java平台的JSR 236并发实用程序中。请注意,这意味着与CommonJ提议的标准和API相比有了重大变化。名称CommonJ被移除,新包位于javax.enterprise.concurrent下,而不是commonj.timers和commonj.work,而原来的类TimerManager、Timer和TimerListener被非对应的接口/类(包括ManagedScheduledExecutorService、ManagedTask、ManagedTaskListener、触发器)所取代。

后者的JSR 236最近通过了公众审查,因此应很快成为一个标准。截至2012年11月,它是Java 7规范(JSR 342)中包含的初步候选程序,但这将在342完成并发布后得到确认。

因此,CommonJ存在以下问题:

  • 它不是也不会是Java标准,直到在Java 7或更高版本的
  • 中包含的JSR 236下有了显著的改变,它可能超出了您的需求,并且比EJB3.0计时器服务

更加复杂。

如果EJB3.0计时器服务满足您的需要,我建议您使用它。

票数 9
EN

Stack Overflow用户

发布于 2011-07-08 11:29:38

是的,如果TimeService特性涵盖了您的需求,那么使用它--它是Java标准的一部分!如果不是绝对必要的话,为什么要使用另一个库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6607101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档