java - Quartz 作业未启动 - Tomcat 服务器

标签 java tomcat jobs quartz

我正在尝试将一个可以在一天中的每 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/

相关文章:

java - BroadcastReceiver 中如何直接使用方法 "getSystemService"?

java - int[ ] 和 Integer [ ] 之间有什么区别

Tomcat:如何记录请求(ed)域?

bash - bg/fg 在命令行循环中

grails - 删除后 quartz 作业仍然存在吗?

java - 无法交换瓷砖位置 - gem 迷阵

java - 尝试隐藏空值以防止打印

java - maven项目无法启动tomcat

java - Tomcat + Hibernate + JNDI + Azure DB - 连接被对等方重置 : socket write error

Oracle:允许每个模式控制一些作业