首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quartz作业未触发

Quartz作业未触发
EN

Stack Overflow用户
提问于 2012-04-26 15:49:44
回答 1查看 3.8K关注 0票数 1

我提到了之前在Quartz properties does not trigger Quartz Job上找到的一个问题,并从中借鉴了很多东西(作为Quartz的新手),但我的工作似乎并没有被解雇。

我的quartz.properties

代码语言:javascript
复制
org.quartz.scheduler.instanceName = MyScheduler
org.quartz.threadPool.threadCount = 3
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

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

org.quartz.plugin.triggerHistory.class: org.quartz.plugins.history.LoggingTriggerHistoryPlugin
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

我的quartz-job.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>myjob</name>
            <group>MYJOBGROUP</group>
            <description>Job to Test</description>
            <job-class>com.mpm.epick.enotify.EmailNotifier</job-class>
        </job>
        <trigger>
            <cron>
                <name>my-trigger</name>
                <group>MYTRIGGER_GROUP</group>
                <job-name>myjob</job-name>
                <job-group>MYJOBGROUP</job-group>
                <cron-expression>* * * * * ?</cron-expression>
            </cron>
        </trigger>
    </schedule>

</job-scheduling-data>

我在web.xml中添加的部件

代码语言:javascript
复制
<!-- added by ck -->
<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>

<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>
    <load-on-startup>2</load-on-startup>
</servlet>
<!-- end additions -->

我希望运行的类文件,` `EmailNotifier‘(现在它只是一个存根实现):

代码语言:javascript
复制
package com.mpm.epick.enotify;

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

public class EmailNotifier implements Job {

    public EmailNotifier() {}

    public void execute(JobExecutionContext context) throws JobExecutionException {
        System.out.println("Cron executing ");
    }

}

因此,我观察到的是我的调度程序可以正常启动/停止,如以下调试行所示:

代码语言:javascript
复制
INFO: QuartzInitializer: Scheduler has been started...
INFO: QuartzInitializer: Quartz Scheduler successful shutdown.

但在我的控制台上,我根本看不到debug行。我试过日志文件,但也不在那里。

我是不是错过了什么东西来解雇我的工作?

EN

回答 1

Stack Overflow用户

发布于 2012-11-05 00:24:56

我想知道这是不是因为你的cron表达式很奇怪。我不确定"* **“的意图是什么?表达式,但如果您希望它每秒触发一次,那么您可能应该使用"0/1 *** ?“。有关构建cron表达式的更多信息,请参见http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-06

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10329264

复制
相关文章

相似问题

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