`

Spring的定时任务详细配置

阅读更多
1. Web.xml的配置
  <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/classes/beans-dao.xml</param-value>
    </context-param>
<listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
</listener>


2. spring配置文件中的配置
   <!-- 测试定时任务 -->
    <bean id="timerJob" class="com.dayang.spring.timer.TimerTest">
    <property name="programService">
<ref bean="programService"/>
</property>
    </bean>
   
    <bean id="methodInvokingJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject">
    <ref bean="timerJob"/>
    </property>
<property name="targetMethod">
<value>doJob</value>//执行任务的方法名称
</property>
<!--
<property name="concurrent" value="false"/>
-->
    </bean>
   
    <!-- 定义触发时间 -->
    <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">  
<property name="jobDetail">  
<ref bean="methodInvokingJobDetail"/>  
</property>

<!-- 应用启动后 10 seconds -->
<!-- repeat every 60 seconds -->
<!--
<property name="startDelay">
       <value>10000</value>
  </property>

<property name="repeatInterval">
   <value>720000</value>
  </property>
-->

<property name="cronExpression">
  <!-- 代表 每月2号 18点执行一次  -->
   <!-- value>0 0 18 2 * ?</value-->
   <!-- 测试可用  每天18时执行 每5分钟执行一次 (0/5)-->
   <!-- 每一分钟执行一次 -->
    <value>0 0/1 * * * ?</value>
   </property>

<!-- 每天11点 27-30分 每隔一分钟执行一次 -->
<!-- property name="cronExpression" value="0 27-30 11 * * ?"  /--> 

</bean>
   
    <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序   -->
    <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
<property name="triggers">
<list>
<ref local="simpleTrigger"/>
</list>
</property>
</bean>







3. java代码

public class TimerTest {

	private IProgramService programService;
	private Logger log = Logger.getLogger(TimerTest.class);

	public IProgramService getProgramService() {
		return programService;
	}

	public void setProgramService(IProgramService programService) {
		this.programService = programService;
	}
	
	
	public void doJob(){
		log.debug("********* Begin do my job *********");
		Date d =new Date();
		//Long count = this.programService.countAll();
		//System.out.println("Programs number is ["+count+"] time ["+d.toString()+"]");
		System.out.println(d.toString());
		
		log.debug("********* End do my job *********");
	}
	
}




4.解决定时任务重复执行的问题
http://blog.csdn.net/chaijunkun/article/details/6925889




附件是quartz的jar包

分享到:
评论

相关推荐

    spring定时任务配置

    spring定时任务SimpleTrigger 和CronTrigger 配置

    spring定时任务关键jar包(齐全)

    本文将详细探讨Spring定时任务的关键知识点,并与提供的jar包列表关联。 首先,Spring定时任务主要依赖于`spring-context-support`模块,这个模块包含了处理定时任务所需的类和接口。在压缩包`lib`中,应该包含了这...

    Spring定时任务

    Spring定时任务调用配置Spring定时任务调用配置Spring定时任务调用配置Spring定时任务调用配置Spring定时任务调用配置

    Spring定时任务实现(非Web项目)

    在非Web项目中实现Spring定时任务,主要步骤如下: 1. **配置Spring Task**:在Spring的配置文件(如`applicationContext.xml`或使用Java配置类)中,我们需要启用任务调度功能并配置相应的执行器或调度器。例如,...

    spring动态配置定时任务

    这时,我们可以将定时任务配置移到数据库中,通过读取数据库中的定时规则来动态执行任务。首先,我们需要创建一个数据库表来存储这些规则,如`job_config`,包含字段`id`、`task_name`、`cron_expression`等。 接着...

    spring定时任务实现

    Spring框架提供了多种方式来实现定时任务,...推荐使用Spring Task,因为它简化了配置,降低了学习成本,同时仍然能满足大部分定时任务的需求。当然,如果需要高度定制和复杂的时间调度,Quartz仍然是一个强大的选择。

    spring定时任务依赖的jar包

    2. **依赖的jar包**:实现Spring定时任务,通常需要以下10个关键的jar包: - `spring-context`: 包含了Spring的核心功能,如依赖注入(DI),AOP,事件处理等,是实现定时任务的基础。 - `spring-context-support`: ...

    springboot动态配置定时任务(schedule)

    在Spring Boot应用中,动态配置定时任务是提升系统灵活性和可维护性的重要手段。Spring Boot集成了Spring Framework的TaskExecution和TaskScheduling模块,使得我们可以方便地创建和管理定时任务。本文将深入探讨...

    Springboot中使用数据库配置定时任务

    4. 从数据库加载定时任务配置并更新到Spring Boot的配置中。 5. 在业务逻辑类中使用`@Scheduled`注解来定义定时任务,并根据数据库配置动态调整执行频率。 通过这种方式,我们可以灵活地管理和调整应用中的定时任务...

    Spring 定时任务源码(spring 三种定时任务的实现方式)

    在Spring框架中,定时任务是实现系统自动化运行关键任务的重要工具。Spring提供了多种方式来创建和管理定时任务,...在chapter13目录下的文件可能包含了这些源码示例,你可以逐一研究,加深对Spring定时任务的理解。

    spring xml 定时任务

    在Spring框架中,XML配置是传统且广泛使用的方式来设置应用的组件和行为,包括实现定时任务。定时任务在软件开发中扮演着重要角色,它允许应用程序在预设的时间执行特定的任务,例如数据清理、日志归档或者发送通知...

    Spring定时任务的配置

    Spring 定时任务ApplicationContext.xml配置

    Spring 定时任务配置范例

    本文档详细介绍了Spring定时任务配置的两种方式。一种方式是使用Spring提供的 MethodInvokingJobDetailFactoryBean 代理类,Quartz通过该代理类直接调度任务类的某个函数,另外一种方式是任务类继承并实现Quartz接口...

    spring 定时任务配置详解

    Spring 定时任务配置详解 Spring 框架提供了对定时调度服务的内置支持类,支持从 JDK 1.3 开始内置的 Timer 类和 Quartz Scheduler。开发者可以通过 FactoryBean,分别指向 Timer 或 Trigger 实例的引用进行配置。...

    Spring中定时任务

    结合Eclipse和Maven,创建Spring定时任务项目时,你需要: 1. 创建一个新的Maven项目,并添加Spring的相关依赖,如`spring-context`, `spring-context-support`(对于Spring Task),以及`quartz`和`spring-quartz`...

    转:spring多个定时任务quartz配置

    本文将深入探讨如何在Spring中配置多个Quartz定时任务,并结合`quartz.properties`文件进行详细讲解。 首先,我们需要理解Quartz的基本概念。Quartz是开源的作业调度框架,允许应用程序在特定时间执行任务。它支持...

    spring的定时任务的配置

    ### Spring 定时任务配置详解 #### 一、Spring 定时任务简介 Spring 框架提供了强大的任务调度功能,使得开发者能够轻松地在应用中实现定时任务。本篇文章将详细探讨如何在 Spring 中配置定时任务,并通过具体的...

    Spring定时任务(Web项目)

    一、Spring定时任务简介 Spring框架的定时任务功能主要依赖于`Spring Task`模块,也称为Spring的后台任务处理。它提供了基于`@Scheduled`注解和`TaskScheduler`接口的两种定时任务实现方式。`@Scheduled`适用于简单...

    spring定时任务所需jar

    在实际开发中,将这些jar包添加到项目的类路径中,就可以开始编写和配置Spring定时任务了。通常,我们会在配置类中使用`@EnableScheduling`注解来开启定时任务,然后通过`@Scheduled`注解来定义具体的任务及其执行...

Global site tag (gtag.js) - Google Analytics