首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Deltaspike和Quartz:如何从配置文件中设置cronExpressions

Deltaspike和Quartz:如何从配置文件中设置cronExpressions
EN

Stack Overflow用户
提问于 2015-03-20 19:05:17
回答 2查看 1.1K关注 0票数 3

我想这个标题是很自我解释的。我有份工作:

代码语言:javascript
运行
复制
import org.apache.deltaspike.scheduler.api.Scheduled;
import org.quartz.Job;

@Scheduled(cronExpression = "0 0/1 * * * ?")
public class JobA implements Job {
  //job code
}

每分钟运行一次。我想从外部设置那个cron表达式,即一个配置文件。我在用Deltaspike,我找不到实现它的方法。我正在考虑一个类JobDispatcher,从哪里创建作业并将cron表达式设置为它,但我在DeltaSpike文档中没有看到任何线索。

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-20 20:44:34

使Cron表达式成为一个私有的最终静态常量,从一个配置文件中导出它的值,并在注释中使用它。

票数 1
EN

Stack Overflow用户

发布于 2015-04-28 20:14:12

最后,我通过设置调度程序的JobDispatch.java使用了Quartz,因此,作为Quartz规范状态,使用来自Quartz的所有库,而不是Deltaspike调度器模块。到目前为止,我认为我完全独立于deltaspike-调度程序-模块-api-1.2.1和deltaspike-调度程序-模块-impl 1.2.1,但问题是,我没有。一旦一切正常工作,我决定清理一下,并摆脱这两个库。然后我意识到我的构建路径中有它们,所以我首先从那里删除了它们,最后从磁盘中删除了它们。令我惊讶的是,当我再次尝试运行我的应用程序时,出现了一些例外,实际上,NullPointerExceptions来自@Inject变量。我没有做更深入的研究,但我让这些小人生活在建筑的道路上,因为它就是这样运作的。

我的想法是,在某种程度上,这些小人通过工作来维持CDI的生存,不管所有的cronjobs都是从Quartz libs那里拿来的。

如果有人能在这里透露点什么,欢迎光临。

谢谢!

更新4/2016

Deltaspike1.6现在支持这种功能:可配置的CRON表达式

更新2- 4/2016

对于Quartz cron表达式,配置并不那么简单,请查看容器启动时的配置以获得更多信息。

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

https://stackoverflow.com/questions/29174069

复制
相关文章

相似问题

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