首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quartz xml配置

Quartz xml配置
EN

Stack Overflow用户
提问于 2015-04-12 19:28:53
回答 1查看 7.4K关注 0票数 3

我想通过xml配置运行Quartzjob和Tomcat Server.But,当我启动Tomcat时,我的作业根本没有启动。有人能帮上忙吗?下面是我的代码:

web.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<listener>
    <listener-class>
       org.quartz.ee.servlet.QuartzInitializerListener
   </listener-class>
</listener>
</web-app>

MyJob.java

代码语言:javascript
复制
package com.cron;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;


public class MyJob implements Job {

    public void execute(JobExecutionContext context)
     throws JobExecutionException {

      System.out.println("Cron executing ");

    }
}

项目src文件夹下的quartz-config.xml

代码语言:javascript
复制
<?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>FirstJob</name>
            <group>DummyGroup</group>
            <description>This is FirstJob</description>
            <job-class>com.cron.MyJob</job-class>
        </job>
        <trigger>
            <cron>
                <name>dummyTrigger</name>
                <job-name>FirstJob</job-name>
                <job-group>GroupDummy</job-group>
                <!-- It will run every 2 seconds -->
                <cron-expression>0/2 * * * * ?</cron-expression>
            </cron>
        </trigger>
    </schedule>
</job-scheduling-data>

项目源文件夹下的quartz.properties文件

代码语言:javascript
复制
org.quartz.scheduler.instanceName = MyScheduler
org.quartz.threadPool.threadCount = 3
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
org.quartz.plugin.jobInitializer.class =org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin
org.quartz.plugin.jobInitializer.fileNames =quartz-config.xml
org.quartz.plugin.jobInitializer.failOnFileNotFound = true

当我启动Tomcat服务器时,它显示的日志如下

代码语言:javascript
复制
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Apr 12, 2015 4:39:28 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8441
Apr 12, 2015 4:39:28 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8442
Apr 12, 2015 4:39:28 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/46  config=null
Apr 12, 2015 4:39:28 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1208 ms

下面是我使用过的JAR文件列表:

代码语言:javascript
复制
quartz-2.2.1.jar
quartz-jobs-2.2.1.jar
slf4j-api-1.7.5.jar
jta-1.1.jar
EN

回答 1

Stack Overflow用户

发布于 2016-12-09 19:28:39

我在使用org.quartz.ee.servlet.QuartzInitializerListener时遇到了问题,现在我改用servlet方法。

代码语言:javascript
复制
<!--Quartz-->
<servlet>
    <servlet-name>QuartzInitializer</servlet-name>
    <servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
    <init-param>
        <param-name>shutdown-on-unload</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
         <param-name>start-scheduler-on-load</param-name>
         <param-value>true</param-value>
     </init-param>
    <init-param> 
        <param-name>config-file</param-name> 
        <param-value>META-INF/quartz.properties</param-value> 
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29588912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档