【spring+quartz框架】scheduler.reschedulejob后执行了多次

问题描述

【spring+quartz框架】scheduler.reschedulejob后执行了多次

关于spring+quartz框架配置多线程调度任务,小弟有一事一直没搞明白

一、quartz.properties中配置:
#===============================================================
#Configure Main Scheduler Properties
#===============================================================
org.quartz.scheduler.instanceName = QuartzScheduler
org.quartz.scheduler.instanceId = AUTO

#===============================================================
#Configure ThreadPool
#===============================================================
org.quartz.threadPool.threadCount = 8
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool

#===============================================================
#Configure JobStore
#===============================================================
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
org.quartz.jobStore.misfireThreshold = 60000

二、XML配置文件中配置了jobDetail:

    <bean id="monitorSMSCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="monitorSMSJobDetail"/>
    <property name="cronExpression">
        <value>0/15 * * * * ?</value><!-- 每隔15秒调度执行 -->
    </property>
</bean>

三、实现类调度方法
public void monitorSMS() {
    //scheduler.rescheduleJob(monitorSMSCronTrigger.getName(), Scheduler.DEFAULT_GROUP, monitorSMSCronTrigger);
    System.out.println("enter..");
}

问题是:
因配置了15秒执行一次调度,如果屏蔽掉scheduler.rescheduleJob这行代码,则每次是一个线程执行,如15:30:00 work_1执行,15:30:15 work_2执行,以此类推;如果不屏蔽,则每次8个线程并发执行,且每个线程执行N多次(N无规律,几十次到上百次吧)
求教大神,1 这是什么原因? 2 如果想让8个线程每次执行一遍应该如何做?

解决方案

simpleTrigger我记得可以配置repeatCount,cronTrigger有没有这方面的设置呢

时间: 2024-11-18 14:13:36

【spring+quartz框架】scheduler.reschedulejob后执行了多次的相关文章

spring quartz在项目发布后无法...[

问题描述 spring quartz在项目发布后无法...[ 解决方案 hibernate HQL能够使用数据库表字段进行查询?JAVA 怎样解决程序卡死, 内存爆满的问题?spring quartz在项目发布后无法...[

spring+quartz 如何结束定时任务的执行呢?

问题描述 各位,如题!想问下除了给任务更换一个永远不可能执行的表达式之外(如每天的24点等),有没有好点的方法啊!多谢啦,小弟急用!

最流行的java后台框架spring quartz定时任务_java

配置quartz 在spring中需要三个jar包: quartz-1.8.5.jar.commons-collections-3.2.1.jar.commons-logging-1.1.jar 首先要配置我们的spring.xml xmlns 多加下面的内容. xmlns:task="http://www.springframework.org/schema/task"  然后xsi:schemaLocation多加下面的内容. http://www.springframework.

spring-在使用quartz框架的时候添加CronTrigger的时候无法确定第一次执行的时间

问题描述 在使用quartz框架的时候添加CronTrigger的时候无法确定第一次执行的时间 在使用quartz框架的时候遇到的一个问题,具体如下: 在2013-07-16 10:04:57从页面添加CronTrigger的表达式如下0 0/30 * ? * * * .每隔30分钟执行一次,但是持久化到数据库中的下一次触发事件是 2013-07-16 10:30:00 ,即第一次执行是在26分钟后. 在2013-07-16 10:04:57从页面添加CronTrigger的表达式如下0 0/2

当spring 容器初始化完成后执行某个方法

在做web项目开发中,尤其是企业级应用开发的时候,往往会在工程启动的时候做许多的前置检查. 比如检查是否使用了我们组禁止使用的Mysql的group_concat函数,如果使用了项目就不能启动,并指出哪个文件的xml文件使用了这个函数. 而在Spring的web项目中,我们可以介入Spring的启动过程.我们希望在Spring容器将所有的Bean都初始化完成之后,做一些操作,这个时候我们就可以实现一个接口: 1 2 3 4 5 6 7 package com.yk.test.executor.p

spring+quartz做的定时任务,tomcat启动没问题,就是定时任务不执行,是什么原因?

问题描述 spring+quartz做的定时任务,tomcat启动没问题,就是定时任务不执行,是什么原因? 1.applicationContext_quartz.xml内容 <?xml version=""1.0"" encoding=""UTF-8""?><beans xmlns=""http://www.springframework.org/schema/beans"&q

Spring+quartz服务器迁移后,启动定时器任务无法恢复。

问题描述 Spring+quartz服务器迁移后,启动定时器任务无法恢复. 问题描述:原来quartz定时任务都正常运行,目前进行服务器迁移,把war包部署到新服务器,并且数据库mysql 也迁移到新的服务器,定时器是持久化到mysql里面的,再重启应用时候,定时器一直提示"[org.springframework.scheduling.quartz.LocalDataSourceJobStore] Handling 4 trigger(s) that missed their schedule

配置 iles框架-Spring MVC的配置Tiles框架中配置后出面错误

问题描述 Spring MVC的配置Tiles框架中配置后出面错误 Spring MVC的配置Tiles框架中配置后出面错误,请大家帮着分析一下原因,以下是spring-servlet.xml <?xml version="1.0" encoding="UTF-8"?> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.spri

Spring+quartz第一次执行问题

问题描述 Spring+quartz第一次执行问题,我配置了定时执行每天晚上2点跟每晚2点半,怎么设置启动的时候执行一次<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"