我正在尝试将一个可以在一天中的每 X 小时运行一次作业的项目上传到 Web 服务器。
问题是,当我在我的本地(netbeans、apache 7)上运行该项目时,它可以毫无问题地启动并在我需要的时候完成工作,但是如果我将我的 war 部署到网络服务器(Tomcat 8)中,它不会启动。
我看过一些例子,有些在 WEB-INF/class/下添加了一个 quartz.properties 和一个 web.xml
我的项目
ProjectName
->Web pages
-->META-INF
-->WEB-INF
-->index.jsp
->Source Packages
-->job(package)
--->Job.java
-->main.java
main class
public class main {
public static void main(String[] args) throws Exception {
JobDetail job = JobBuilder.newJob(HelloJob.class)
.withIdentity("dummyJobName", "group1").build();
Trigger trigger = TriggerBuilder
.newTrigger()
.withIdentity("dummyTriggerName", "group1")
.startNow()
.withSchedule(
CronScheduleBuilder.cronSchedule("0/15 * * * * ?")
)
.build();
//schedule it
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.start();
scheduler.scheduleJob(job, trigger);
}
Job class
public class HelloJob implements Job {
public void execute(JobExecutionContext context)
throws JobExecutionException {
System.out.println("Hello Quartz!");
}
非常感谢您的帮助!
最佳答案
也许这不是解决问题的最佳方法,但我通过创建一个使用 cron 调用方法的 jsp 实现了这一点。
所以,部署 --> 调用 jsp --> 方法 --> cron。
cron 在此之前没有被任何东西执行过。
谢谢大家!
关于java - Quartz 作业未启动 - Tomcat 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52655324/