java - Quartz 作业未启动 - Tomcat 服务器
问题描述
我正在尝试将一个可以每天 X 小时运行一次作业的项目上传到 Web 服务器。
问题是,当我在本地(netbeans,apache 7)上运行项目时,它会毫无问题地启动并且每次我需要时都可以完成工作,但是如果我将我的战争部署到 Web 服务器(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
主班
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);
}
}
职位类别
public class HelloJob implements Job {
public void execute(JobExecutionContext context)
throws JobExecutionException {
System.out.println("Hello Quartz!");
}
}
非常感谢你的帮助!
解决方案
也许这不是解决它的最佳方法,但是,我通过创建一个使用 cron 调用该方法的 jsp 来实现它。
所以,部署 --> 调用 jsp --> 方法 --> cron。
在此之前,cron 没有被任何东西执行。
谢谢你们!
推荐阅读
- reactjs - 如何在反应中导出一个类?
- c# - 如何检测两个碰撞器/两个触发器是否正在碰撞 - Unity c#
- flutter - 400 BAD Request while http.post() in flutter
- r - R中的多面板回归表
- rxjs - 如何正确组织这个基于 Rx 的反应状态机?
- java - Spring4 + OAuth2 + CXF/JAXRS + Keycloak
- javascript - 无法编辑源代码时可以使用 JQuery Datatables 吗?
- prisma - 计算 Prisma 错误上的自我关系:表名指定了多次
- git - 在本地存储库中执行 `git pull` 后,是否可以找出 git pull 之前的最后一次提交?
- django - 如何计算外键项,尤其是使用 Django 的用户模型创建的“作者”?