2017-01-16 157 views
1

我有一个旧的应用程序运行在websphere上,并使用很久以前在家中编写的旧cron作业调度库。计划作业jboss EAP

我想将其转换为JBOSS EAP6.4,我无法确定转换作业调度程序的好方法。

基本上,在旧的应用程序中,我们使用的配置文件列出了作业和频率。

这是配置文件

year mo dom dow hr mn prio persist package.class      parms 
# ==== == === === == == ======= ======= ============================================== ============================ 
* * * * * 15,45 norm  false com.shaw.CronClass1 O 
* * * 1,2,3,4,5,6 0-17,19-23 00,30 norm  false com.CronClass2 B 
* * * 0 1-23 00,30 norm  false com.CronClass3 B 

格式杂乱的一个例子,但基本上在第一行表示:在15分钟和45分钟运行该作业每两次每小时 第二行表示:运行这项工作周一上午12点至下午5点,然后下午7点至11点,每30分钟一班。

我想做与JBOSS类似的东西,我看到了JBoss的定时服务 http://docs.oracle.com/javaee/6/tutorial/doc/bnboy.html

但我不认为它有所有这些选择,我不能在注释使用这些设置,因为它们可以改变。这就是为什么我们将它们放入应用程序启动时加载的外部文件中。

有什么图书馆,工具或方法来轻松吗?

+1

可能有[可以在应用程序代码之外配置EJB 3.1 @Schedule吗?](http://stackoverflow.com/questions/3950636/can -ejb-3-1-schedule-be-configured-outside-of-the-application-code) – CoolBeans

+0

嗨 - 你应该使用EJB 3.1计时器。调度程序信息可以通过ejb-jar.xml(通常位于您的EJB JAR文件的META-INF文件夹下)进行外部化。请参阅此复制[问题](http://stackoverflow.com/questions/3950636/can-the-ejb-3-1-schedule-be-configured-outside-of-the-application-code)以供进一步参考。 – CoolBeans

+0

另外使用EJB 3.1计时器将使您的代码更便于将来的应用程序容器迁移。 – CoolBeans

回答