标签: quartz-scheduler

使用Quartz和Spring的NullPointerException

我正在使用Spring Quartz集成,每次我尝试关闭Tomcat时,Quartz进程都无法关闭.这是堆栈跟踪:

Exception in thread "org.springframework.scheduling.quartz.SchedulerFactoryBean#0_QuartzSchedulerThread" 
        java.lang.NullPointerException
    at org.apache.commons.logging.LogFactory.getCachedFactory(LogFactory.java:979)
    at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:435)
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
    at org.quartz.core.QuartzSchedulerThread.getLog(QuartzSchedulerThread.java:475)
    at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:404)
Run Code Online (Sandbox Code Playgroud)

以前有人看过这个吗?

java spring tomcat quartz-scheduler apache-commons-logging

2
推荐指数
1
解决办法
3513
查看次数

Quartz.NET - 如何检测作业是否暂停?

我在我正在创建的Windows服务中使用Quartz.NET,我想要一种迭代所有作业以检测它是否被暂停的方法.如何检查作业是否暂停?我在JobDetail类中找不到合适的方法.

谢谢

c# quartz-scheduler quartz.net

2
推荐指数
1
解决办法
4203
查看次数

Grails - 从Quartz作业和过滤器记录

我想将我的日志存入文件:这是我在Config.groovy中声明我的appender的方法:

log4j = {
    appenders {
    //    console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
        file name: "scraperServiceDetailedLogger",
             file: "target/scraperServiceDetailed.log"    
        file name: "scraperServiceLogger",
             file: "target/scraperService.log"             
        file name: "filterLogger",
             file: "target/filter.log"      
    }

error  'org.codehaus.groovy.grails.web.servlet',  //  controllers
           'org.codehaus.groovy.grails.web.pages', //  GSP
           'org.codehaus.groovy.grails.web.sitemesh', //  layouts
           'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
           'org.codehaus.groovy.grails.web.mapping', // URL mapping
           'org.codehaus.groovy.grails.commons', // core / classloading
           'org.codehaus.groovy.grails.plugins', // plugins
           'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
           'org.springframework',
           'org.hibernate',
           'net.sf.ehcache.hibernate'
error scraperServiceDetailedLogger: "grails.app.service.personalcreditcomparator.ScraperService"
info scraperServiceLogger: "grails.app.jobs.personalcreditcomparator.ScraperJob"
info filterLogger: "grails.app.conf.personalcreditcomparator.AdministratorInterfaceProtectorFilters"

}
Run Code Online (Sandbox Code Playgroud)

3个文件已正确创建,但只能正确scraperServiceDetailedLogger存储日志.其他两个文件仍为空.

调用时会遵守日志记录级别log.

我错过了什么?

感谢您提供的任何帮助.

grails logging file filter quartz-scheduler

2
推荐指数
1
解决办法
3069
查看次数

Quartz:如何使用 org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin 重新加载作业和触发器?

我想在我的小而简单的 Web 应用程序中使用石英。(石英 2.1.6 和 tomcat 7.0.22)。我想在不重新启动我的应用程序的情况下更改触发器 cron 表达式。我将工作放在 xml 文件中quartz-jobs.xmlXMLSchedulingDataProcessorPluginquartz.properties

问题:当我更改内容时quartz-jobs.xml,quartz deceted 文件被更改并重新加载,删除并创建新作业。我在日志文件中看到它。但是这个文件的内容是旧的(和启动时一样)。

所以我在文件系统中有新版本的quartz-jobs.xml,但石英采用了该文件的旧版本。

文件系统是带有默认设置的普通 ext4。

那么,如何从 xml 文件刷新石英作业和触发器?

这是我的配置:

石英属性:

org.quartz.scheduler.instanceName = SMSScheduler
org.quartz.threadPool.threadCount = 1
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
org.quartz.scheduler.skipUpdateCheck=true

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 = 30
org.quartz.plugin.jobInitializer.wrapInUserTransaction = false
Run Code Online (Sandbox Code Playgroud)

石英-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">

    <pre-processing-commands>
        <delete-jobs-in-group>REPORT_GROUP</delete-jobs-in-group>
        <delete-triggers-in-group>REPORT_TRIGGER_GROUP</delete-triggers-in-group>
    </pre-processing-commands>
    <schedule>
        <job>
            <name>report-job</name>
            <group>REPORT_GROUP</group>
            <description>Create report</description>
            <job-class>com.company.quartz.ReportJob</job-class>
        </job>
        <trigger>
            <cron> …
Run Code Online (Sandbox Code Playgroud)

java quartz-scheduler

2
推荐指数
1
解决办法
2万
查看次数

Quartz Cron 触发器每两天运行一次

我想让我的 cron 每两天执行一次工作。因此,如果我在 5 月 25 日执行作业,它将在 25、27、29、31、6 月 2 日、6 月 4 日运行。

但问题是,在 5 月 31 日结束后,cron 将重置并在 6 月 1 日、6 月 3 日、6 月 5 日开始运行......而不是 6 月 2 日、6 月 4 日......

下面是我的代码..

CronTrigger cronTrigger = newTrigger()
      .withIdentity("trigger1", "testJob")
      .startAt(startDate)
      .withSchedule(CronScheduleBuilder.cronSchedule( * * * 1/2 * ?")
          .withMisfireHandlingInstructionDoNothing())
      .build();
Run Code Online (Sandbox Code Playgroud)

java quartz-scheduler

2
推荐指数
1
解决办法
2563
查看次数

Quartz.net 如何在触发器上设置 MisfireInstruction

在 Quartz 1.0.x 中,可以通过简单地设置触发器上的 MisfireInstruction 来设置它:

trigger.MisfireInstruction = MisfireInstruction.CronTrigger.DoNothing;
Run Code Online (Sandbox Code Playgroud)

我们将 Quartz 版本升级到 2.3.2,现在不能再这样设置了,因为trigger.MisfireInstruction已经没有 setter 了。

现在如何在触发器上设置 MisfireInstruction?

我尝试使用 TriggerBuilder 重新创建触发器,如下所示:

trigger = trigger.GetTriggerBuilder()...
Run Code Online (Sandbox Code Playgroud)

但我也找不到 TriggerBuilder 上的 MisfireInstruction-Method。

谢谢你的帮助

.net c# quartz-scheduler quartz.net misfire-instruction

2
推荐指数
1
解决办法
1802
查看次数

C# - 当网站上没有活动时,Quartz调度程序停止运行

我用石英调度程序创建了asp.net站点.作业在后台运行,网站上没有其他活动.

Quartz调度程序每30分钟安排一次.

IIS启动后,Scheduler正常运行.

但过了一段时间,Scheduler停止运行(大约1小时).

如果在站点上有一个或多个活动作为用户登录或查看仪表板,则Scheduler会正确运行.

但是当现场没有任何活动时,它就会停止运行.

如果现场没有活动,如何保持我的调度程序的所有时间?

P/s:我知道我的问题可能与其他问题重复.但我仍然会问,因为我无法评论其他问题的答案.

编辑:

Day Running at: 7/14/2016 4:00:00 AM
--
Day Running at: 7/14/2016 4:30:00 AM
--
Day Running at: 7/14/2016 5:00:00 AM
--
Stopped running
--
Day Running at: 7/14/2016 2:00:00 PM
--
Day Running at: 7/14/2016 2:30:00 PM
--
Day Running at: 7/14/2016 3:00:00 PM
--
Stopped running
--
Run Code Online (Sandbox Code Playgroud)

c# asp.net quartz-scheduler

2
推荐指数
1
解决办法
1875
查看次数

Quart Scheduler Start 会执行暂停的作业吗?

嗨,我是 Quartz Scheduler 的新手,我是第一次实现它。我想知道调度程序的开始调用是否会执行暂停的作业?或 暂停的工作将仅通过恢复调用而不会被激活。请帮我。

quartz-scheduler quartz.net

2
推荐指数
1
解决办法
1580
查看次数

如何在 grails 3 中配置石英插件?

最近我尝试配置我的 grails 应用程序以与石英调度程序一起使用。不幸的是,我未能配置 JDBC 作业存储。石英插件似乎忽略quartz.properties文件,其中表前缀定义为Z_STAFF_SCHEDULER. 应用程序启动失败,但有异常:

引起:org.springframework.scheduling.SchedulingException:无法启动Quartz Scheduler;嵌套异常是 org.quartz.SchedulerConfigException: 作业恢复期间发生故障。[参见嵌套异常:org.quartz.impl.jdbcjobstore.LockException:获取数据库行锁失败:表'testing.qrtz_locks'不存在[参见嵌套异常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:表' testing.qrtz_locks' 不存在]]

这是中的相关代码application.groovy

quartz {
    autoStartup = true
    jdbcStore = true
    waitForJobsToCompleteOnShutdown = true
    exposeSchedulerInRepository = false

    props {
        scheduler.skipUpdateCheck = true
    }

}

environments {
    test {
        quartz {
            jdbcStore = false
            autoStartup = false
        }
    }
}


grails.config.locations = ["classpath:conf/quartz.properties"]
Run Code Online (Sandbox Code Playgroud)

这是我的配置quartz.properties

#============================================================================
# Configure Main Scheduler Properties
#============================================================================

org.quartz.scheduler.instanceName = StaffScheduler
org.quartz.scheduler.instanceId = AUTO

#============================================================================
# Configure ThreadPool
#============================================================================

org.quartz.threadPool.class …
Run Code Online (Sandbox Code Playgroud)

grails quartz-scheduler grails3.2.0

2
推荐指数
1
解决办法
2512
查看次数

Spring Boot + Quartz + Oracle 作业调度

我想使用 Quartz 和 Oracle 作为 JobStore 来安排作业。我看到大多数使用 RAMjobstore 的示例(当然不是持久的),但几乎没有任何示例可以帮助我满足 Spring boot + Quartz + Oracle 开发的需求。

任何代码示例或 github 项目的链接或帮助将不胜感激。

oracle cron quartz-scheduler job-scheduling spring-boot

2
推荐指数
1
解决办法
5671
查看次数