spring4使用quartz哪个版本包合适

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring4使用quartz哪个版本包合适相关的知识,希望对你有一定的参考价值。

您好,根据您的要求,最合适的Spring4使用Quartz版本包应该是Quartz 2.2.1。Quartz是一个开源的作业调度框架,它可以安排任务在特定的时间运行,它可以被集成到任何Java应用程序中,包括Spring4。Quartz 2.2.1是一个稳定的版本,它支持Spring4,并且支持多种数据库,包括mysql,PostgreSQL,Oracle,MS SQL Server等。Quartz 2.2.1还支持多种触发器,包括SimpleTrigger,CronTrigger,CalendarIntervalTrigger等,这些触发器可以帮助您安排任务在特定的时间运行。此外,Quartz 2.2.1还支持多种作业监听器,可以帮助您监控作业的运行状态,以及在作业失败时触发特定的处理程序。因此,Quartz 2.2.1是Spring4使用Quartz的最佳选择。 参考技术A spring4使用quartz4.0版本版本包合适。1.版本说明
Spring 4.0.0
Quartz 2.2.1
SpringMvc 4.0.0
参考技术B Spring4使用Quartz 2.x版本包合适。
Spring4使用Quartz 2.x版本包合适。
Spring4使用Quartz 2.x版本包合适。

spring + quartz定时任务,以及修改定时任务

spring4+quartz2.2.3,定时任务弄好了,修改定时任务没折腾起,没找到合适的解决方案。

最终使用库spring-context-support 3.2.17.RELEASE +  quartz 1.8.0解决,quart1.8.x版本的CronTriggerBean弄起来方便

关键代码如下:

1.maven文件

<dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>1.8.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>3.2.17.RELEASE</version>
        </dependency>

2.spring-quartz.xml文件

<bean id="scheduleInfoAction" class="com.aaa.controller.AutoTaskController">
        <property name="scheduler" ref="schedulerFactory"/>
    </bean>

    <bean id="schedulerJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="scheduleInfoAction"/>
        <property name="targetMethod" value="execute"/>
        <property name="concurrent" value="false"/>
    </bean>

    <bean id="packetResolveTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean" >
        <property name="jobDetail" ref="schedulerJobDetail"/>
        <property name="cronExpression">
            <value>0/5 * * * * ?</value>
        </property>
    </bean>
    <bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref local="packetResolveTrigger"/>
            </list>
        </property>
    </bean>

3.java代码

package com.aaa.controller;

@Api("定时任务接口")
@Controller
@RequestMapping("/task")
public class AutoTaskController {
  private Scheduler scheduler;
  public void setScheduler(Scheduler scheduler) {
   this.scheduler = scheduler;
  }
   //定时任务执行 
  protected void execute() throws Exception { System.out.println("定时任务执行,解析:"+new Date()); }
  //修改
public void changeCronTime(String ex) throws Exception{ //获取定时器 try { CronTriggerBean trigger = (CronTriggerBean) scheduler.getTrigger("packetResolveTrigger", Scheduler.DEFAULT_GROUP); System.out.println(trigger.getCronExpression()); trigger.setCronExpression("0/1 * * * * ?"); scheduler.rescheduleJob("packetResolveTrigger", Scheduler.DEFAULT_GROUP, trigger); } catch (SchedulerException e1) { e1.printStackTrace(); } catch (ParseException e1) { e1.printStackTrace(); } } }

 







以上是关于spring4使用quartz哪个版本包合适的主要内容,如果未能解决你的问题,请参考以下文章

spring + quartz定时任务,以及修改定时任务

commons-dbcp.jar,commons-pool.jar 在spring4的哪个包

Spring4 Quartz2 动态任务,Spring4整合quartz2.2.3简单动态任务

Spring4整合quartz2.2.3,quartz动态任务

spring4+Quartz2.x动态配置工具类

Spring4+Springmvc+quartz实现多线程动态定时调度