`
liuxi1024
  • 浏览: 394496 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring中使用Quartz完成时序调度工作

阅读更多

1、需要jar  quartz-1.6.5.jar\jta_101.jar

2、创建application-schedule.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:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
				http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
	<!--  自定义对象-->
       <bean id="uploadXmlScheduler" class="self.phoenix.application.internal.UploadXmlScheduler">
		<property name="uploadService" ref="uploadService"/>
	</bean>
       <!-- 利用MethodInvokingJobDetailFactoryBean将调用uploadXmlScheduler中的uploadXmlController方法-->
	<bean id="myJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" >
       <property name="targetObject" ref="uploadXmlScheduler" />
       <property name="targetMethod" value="uploadXmlController" />
       <!-- 使jobs不并发运行-->
       <property name="concurrent" value="false" />
    </bean>
    <!-- Spring提供两个子类triggers: SimpleTriggerBean,CronTriggerBean -->
    <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
       <property name="jobDetail" ref="myJobDetail" />
       <!-- wait 10 seconds before starting repeated execution -->
       <property name="startDelay" value="10000" />
       <!-- run every 60 seconds *10 -->
       <property name="repeatInterval" value="600000" />
    </bean>
    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
       <property name="jobDetail" ref="myJobDetail" />
		<!-- run every morning at 23:59 am -->
       <property name="cronExpression" value="0 59 23 * * ?" /> 
    </bean>
    <!--  调用两个触发器 -->
    <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
       <property name="triggers">
             <list>
               <ref bean="simpleTrigger"/>
               <ref bean="cronTrigger"/>
             </list>
		</property>
    </bean>
    <!-- 注入所需的bean -->
    <bean name="uploadService" class="self.phoenix.application.internal.dao.UploadServiceImpl" />
</beans>

3、创建 定时调用的类 UploadXmlScheduler.java

public class UploadXmlScheduler {

	private UploadService uploadService;

	public void setUploadService(UploadService uploadService) {
		this.uploadService = uploadService;
	}
	
	public void uploadXmlController(){
               /** 执行操作 **/
		uploadService.uploadXml();
	}

	
}
 
分享到:
评论
1 楼 jkfd 2010-12-06  
谢谢分享。

相关推荐

    SpringBootjob:调度程序练习

    "SpringBootjob:调度程序练习"这个项目显然关注的是如何在Spring Boot中实现任务调度,这通常涉及到Spring的定时任务(@Scheduled)或者集成Quartz、Spring Batch等第三方调度库。下面将详细介绍Spring Boot中任务...

    本项目基于RuoYi进行搭建,在若依基础上进行功能构建、数据连接

    在本项目中,Quartz可能被用来定期从时序数据库中提取数据,然后通过WebSocket发送给前端。这种定时任务调度的能力使得系统能够自动化地更新和推送数据,无需用户手动刷新。 统计信息被存储在关系型数据库中,可能...

    基于springboot一起来约苗系统.zip

    - **任务调度**:可能使用Quartz或Spring Task等工具进行定时任务,如疫苗库存检查、预约提醒等。 - **异常处理**:通过Spring的全局异常处理,确保系统稳定性和用户体验。 【开发流程】 1. **需求分析**:明确系统...

    人力资源系统需求规格说明书汇编.pdf

    使用任务调度框架Quartz自动生成工资信息,结合Spring进行整合。 - C. JasperReport用于报表设计和Struts2的整合,实现复杂的报表功能。 13. **功能性需求**: - 系统管理包括用户管理、角色管理和个人信息维护...

Global site tag (gtag.js) - Google Analytics