`
zhangyang6380006
  • 浏览: 6929 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Spring quartz定时器示例源码

阅读更多
仔细看配置应该能看懂,就不多写注释了

applicationContext-quartz.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"
    default-lazy-init="true">

    <description>Quartz Local Cron Job Configuration</description>

    <!-- Quartz Schduler -->
    <bean id="localQuartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
        <property name="triggers">
            <list>
//出发事件引用列表,下面配置后要把出发类加进来
                <ref bean="quoteCronTrigger"/>
            </list>
        </property>
        <property name="quartzProperties">
            <props>
                <prop key="org.quartz.threadPool.threadCount">5</prop>
            </props>
        </property>
        <property name="startupDelay" value="3" />
    </bean>

    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="cronJobDetail" />
        <property name="cronExpression" value="0 * 12 * * ?" />
    </bean>
    <bean id="quoteCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="quoteCronJobDetail" />
        <property name="cronExpression" value="0 * 14 * * ?" />
    </bean>

    <bean id="cronJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="cronJob" />
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="true" />
    </bean>
    <bean id="quoteCronJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="quoteCronJob" />
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="true" />
    </bean>

    <bean id="cronJob" class="com.genscript.gsscm.common.jobs.MailSendingJob" />
    <bean id="quoteCronJob" class="com.genscript.gsscm.common.jobs.DateTimerJob" />
</beans>



package com.genscript.gsscm.common.jobs;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import org.dozer.DozerBeanMapper;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;

import com.genscript.gsscm.common.events.SendMailAtOnceEvent;
import com.genscript.gsscm.common.util.Struts2Util;
import com.genscript.gsscm.contact.service.ContactService;
import com.genscript.gsscm.customer.service.CustomerService;
import com.genscript.gsscm.order.service.OrderService;
import com.genscript.gsscm.quote.dao.QuoteMainBeanDao;
import com.genscript.gsscm.quote.dto.QuoteMainDTO;
import com.genscript.gsscm.quote.entity.QuoteMain;
import com.genscript.gsscm.quote.entity.QuoteMainBean;
import com.genscript.gsscm.quote.service.QuoteService;
import com.opensymphony.xwork2.ActionSupport;

public class DateTimerJob {
   
        @Autowired
        private QuoteService quoteService;
        @Autowired(required = false)
        private DozerBeanMapper dozer;
        private Date tmpDate=null;
        private SimpleDateFormat sdf=null;
        private String quoteDate=null;
        private String tmpStrDate=null;
// 这是本人测试用的小例子
        public void execute(){
            System.out.println("------------>>>>>>>>>>>>>>test");
                //from后面是对象,不是表名
                List<QuoteMain> list=quoteService.getAllQuoteList();
                tmpDate=new Date();
                sdf=new SimpleDateFormat("yyyy-MM-dd");
                for(int i=0;i<list.size();i++){
                    QuoteMain quoteMain=list.get(i);
                    QuoteMainDTO dto = this.dozer.map(quoteMain, QuoteMainDTO.class);
                    System.out.println("----------->>>>i=" +i);
                    if(i==810){
                        quoteMain.setStatus("OD");
                        quoteService.saveQuote(quoteMain);
                    }
//                    Date quoteMainDate=quoteMain.getQuoteDate();                   
//                        quoteDate=sdf.format(quoteMainDate);
//                        tmpStrDate=sdf.format(tmpDate);
                   
//                        if(quoteDate.equals(tmpStrDate)){
//                            String status=quoteMain.getStatus();
//                            if(status.equals("CL")||status.equals("CW")){
//                                quoteMain.setStatus("OD");
//                                dto.setStatusText("over dul");
//                            }
//                        }       
                }
        }
               
}

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Spring-quartz实现定时器(含代码)

    本文将深入探讨如何使用Spring整合Quartz来实现定时器,并提供相关代码示例。 首先,理解Spring框架。Spring是一个开源的Java平台,它提供了全面的企业级应用程序开发解决方案,包括依赖注入(DI)、面向切面编程...

    spring quartz 表达式在线生成器

    标签中的“源码”可能意味着博客或工具会涉及Quartz和Spring的源代码解析,帮助读者理解内部工作原理。而“工具”则表明这是一个实用的开发辅助软件,可以帮助开发者提高效率。 由于没有具体的压缩包文件名称列表,...

    Spring Quartz 定时器

    这篇博客“Spring Quartz 定时器”很可能是探讨如何将Quartz集成到Spring应用中,以便利用其强大的定时任务功能。 首先,我们来看一下Spring与Quartz的结合。Spring通过`org.springframework.scheduling.quartz`包...

    Spring定时器TimerTask用法

    **Spring定时器TimerTask用法** 在Java世界中,`java.util.Timer` 和 `java.util.TimerTask` 是用于实现定时任务的基本工具,但它们在多线程环境中的表现并不理想,容易引发内存泄漏。Spring框架提供了更强大的定时...

    Spring定时器配置详解(附demo)

    本篇将详细介绍如何在Spring中配置定时器,并通过一个实际的Demo来加深理解。 一、Spring定时任务概述 Spring提供了两种主要的定时任务实现方式:`TaskScheduler`和`TaskExecutor`,以及基于Quartz的`Spring...

    spring定时器启动两次原因及解决

    标题中的“spring定时器启动两次原因及解决”指的是在Spring框架中使用了定时任务功能,如Spring Boot的`@Scheduled`注解或者Spring Task模块,但遇到了定时任务被触发执行了两次的问题。这种情况可能是由于配置不当...

    spring定时器Quartz

    这个"Spring定时器Quartz"的学习资源很适合初学者,它提供了可以直接运行的示例代码,帮助你快速理解和上手。 1. **Quartz简介** - Quartz是一个开源的作业调度框架,它能够精确地安排任务执行时间,支持复杂的...

    定时器(quartz+spring)读取数据库配置

    在提供的压缩包文件“quartz项目资料”中,可能包含了关于如何设置Quartz与Spring集成的详细示例代码、数据库脚本、配置文件等,你可以进一步学习和参考。通过实践这些资料,你将能够更好地理解和掌握如何利用Quartz...

    spring 定时器

    Spring框架提供了两种主要的定时任务解决方案:Spring Task(也称为Spring内置定时器)和Spring Quartz。这两种方法都能帮助开发者在Java应用中实现定时任务,但各有其特点和适用场景。 **Spring Task** Spring ...

    quartz-2.1.6.zip

    "quartz-2.1.6.zip"这个压缩包包含了使用Quartz在Spring中构建定时任务所需的各种组件和文档。 QUICK-START.html 是Quartz的快速入门指南,它通常会提供关于如何安装、配置和启动Quartz的基本步骤,以及如何创建和...

    spring、Quart 源码

    标题中的“spring、Quart 源码”指的是Spring...总之,这份源码包为你提供了一个学习和理解Spring框架和Quartz库的好机会,通过研究源码和示例,你可以提升自己的Java开发技能,特别是在企业级应用的定时任务处理方面。

    Spring 使用Timer quartz区别

    而对于Quartz,Spring则提供了`org.springframework.scheduling.quartz` 包,可以将Quartz的Job和Trigger与Spring的bean管理结合起来,实现更加灵活的控制。 在实际使用中,如果你的应用只需要简单的定时任务,如...

    spring 定时器运用

    标题 "spring 定时器运用" 指的是在Spring框架中使用定时任务的功能。Spring提供了多种方式来实现定时任务,如使用`@Scheduled`注解、Quartz Scheduler或者Spring Task(Spring内置的定时任务模块)。这篇博文可能是...

    定时器quartZ

    在提供的压缩包`spring_pro_03`中,很可能是包含了一个使用Spring集成Quartz的示例项目。Spring通过`org.springframework.scheduling.quartz.SchedulerFactoryBean`将Quartz的Scheduler实例化,并且可以方便地通过...

    quartz例子

    这篇博客文章提供了对Quartz的深入理解和示例应用,通过阅读可以了解到如何利用Quartz来创建和管理定时任务。 Quartz的核心概念包括: 1. **Job**:这是你需要定时执行的任务,它是一个接口,实现该接口的类定义了...

    Spring的定时调用

    通常,这样的文件可能包含示例代码、测试用例或者相关配置,有助于实践和理解Spring的定时调用功能。 总的来说,Spring的定时调用功能是通过`@Scheduled`注解或`Quartz`来实现的,它们为开发者提供了灵活的任务调度...

    集群环境定时器更新数据库,只有一台应用执行

    文件名称“springquartz”可能是关于Spring集成Quartz的示例代码或配置文件,包含了创建和管理定时任务的关键代码片段,例如定义Job类、Trigger和Scheduler的配置。 总的来说,要在集群环境中确保定时器更新数据库...

    quartz 定时任务

    通过这个"spring+quartz demo"源码,你可以深入学习如何在Spring应用中配置和使用Quartz,以及如何将它与Spring的其他功能(如依赖注入)结合。这将帮助你构建更复杂、可扩展的定时任务系统。记得下载后仔细阅读代码...

    两种方式通过spring实现定时执行任务操作

    在提供的`springTimer`压缩包中,你可以找到相关的源码和配置示例,帮助你更好地理解和实践这两种定时任务的实现方式。通过深入学习和实践,你将能够熟练掌握Spring中的定时任务管理,提升你的开发技能。

    java中Timer定时器的使用

    总的来说,`Timer`和`TimerTask`是Java中实现简单定时任务的便利工具,但在高并发、高性能的场景下,可能需要考虑使用更强大的调度库,如`Quartz`或`Spring Framework`中的`ScheduledExecutorService`。

Global site tag (gtag.js) - Google Analytics