【发布时间】:2012-06-29 19:51:20
【问题描述】:
按照 - http://quartz-scheduler.org/documentation/quartz-2.1.x/examples/Example1 中提到的说明成功安排了第一个 java Quartz 作业
由于它是一个独立的应用程序,我们使用 main 方法。我想让它成为一个容器管理的。所以,我按照-http://quartz-scheduler.org/documentation/quartz-2.1.x/cookbook/ServletInitScheduler中的说明添加了代码
但无法在容器环境中在预定时间自动运行作业。我仍然必须使用 main 方法并手动运行作业。
请给我一个解决方案。
这是石英调度程序代码的链接。 https://gist.github.com/60b236e7fd1432c76248
【问题讨论】:
-
servlet 启动是否正常?您的工作存储在哪里?在内存中还是在数据库中?
-
是的,servlet正在启动,tomcat服务器启动时,进入实现job接口的类的execute方法。作业存储在数据库中,在表 QRTZ_JOB_DETAILS
-
我在 Apache Tomcat 日志中收到此消息 - 2012 年 6 月 28 日下午 3:52:45 org.apache.catalina.core.ApplicationContext 日志信息:QuartzInitializer:将 Quartz 调度程序工厂存储在关键的 servlet 上下文:org.quartz.impl.StdSchedulerFactory.KEY
-
"及其进入实现作业接口的类的执行方法" -> 那么Web容器正在运行你的作业吗?您可能需要在问题中显示一些代码,即显示您实际上如何能够在这个“主要”方法中启动工作。
-
为问题中的代码添加了链接。
标签: java quartz-scheduler