Quartz properties does not trigger Quartz Job

两盒软妹~` 提交于 2019-12-23 03:45:44

问题


I'm using Quartz 2.1.3. My quartz.properties:

#===================================================
# Configure the Job Initialization Plugin
#===================================================

org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin
org.quartz.plugin.jobInitializer.fileNames = quartz-jobs.xml
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.jobInitializer.scanInterval = 10
org.quartz.plugin.jobInitializer.wrapInUserTransaction = false

My quart-jobs.xml:

<?xml version='1.0' encoding='utf-8'?>
<job-scheduling-data xmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd"
  version="1.8">

    <schedule>
        <job>
            <name>myjob</name>
            <group>MYJOBGROUP</group>

            <description>Job to Test</description>
            <job-class>com.upd.test.TestQuartz</job-class>
            <trigger>
            <cron>
                <name>my-trigger</name>
                <group>MYTRIGGER_GROUP</group>
                <job-name>myjob</job-name>

                <job-group>MYJOBGROUP</job-group>
                <cron-expression>0/5 * * * * ?</cron-expression>

            </cron>
        </trigger>
    </schedule>
</job-scheduling-data>

my web.xml:

<context-param>
         <param-name>quartz:config-file</param-name>
         <param-value>quartz.properties</param-value>
     </context-param>
     <context-param>
         <param-name>quartz:shutdown-on-unload</param-name>
         <param-value>true</param-value>
     </context-param>
     <context-param>
         <param-name>quartz:wait-on-shutdown</param-name>
         <param-value>false</param-value>
     </context-param>
     <context-param>
         <param-name>quartz:start-scheduler-on-load</param-name>
         <param-value>true</param-value>
     </context-param>

<listener>
         <listener-class>
             org.quartz.ee.servlet.QuartzInitializerListener
         </listener-class>
     </listener>

my TestQuartz class:

package com.upd.test;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class TestQuartz implements Job{
    private Logger logger = LoggerFactory.getLogger(TestQuartz.class);
    public void printMe() {
        logger.trace("Run Me");
    }   

    public void execute(JobExecutionContext arg0) throws JobExecutionException {
        printMe();
    }
}

quartz.properties and quartz-jobs.xml I put under \WEB-INF\classes When tomcat starts, the only thing I see from the log is:

(org.quartz.ee.servlet.QuartzInitializerListener:147) - Quartz Initializer Servlet loaded, initializing Scheduler...
(org.quartz.ee.servlet.QuartzInitializerListener:264) - Quartz Scheduler successful shutdown.

It seems like the quartz-jobs.xml is not triggered by the quartz.properties. I do anything wrong here? Any reply is much appreciated. Thank you!

SOLVED:

- Add threadpool defined in `quartz.properties`.

- Download jta-1.1.jar.

THANKS for the comment!


回答1:


Quartz Scheduler successful shutdown.

message appears when the whole application shuts down, are you seeings this immediately during startup? This means the scheduler isn't even running. Also make sure quartz.properties file is loaded. Intentionally do a grammar error in quartz.properties or quart-jobs.xml (use incorrect plugin class name, add some bogus text at the beginning...)



来源:https://stackoverflow.com/questions/9596957/quartz-properties-does-not-trigger-quartz-job

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!