前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Task 定时任务

Spring Task 定时任务

作者头像
冷冷
发布2018-02-08 11:36:49
1K0
发布2018-02-08 11:36:49
举报
文章被收录于专栏:冷冷冷冷

推荐使用基于配置XML的形式 !!!

代码语言:javascript
复制
     //首先要定义schema 空间
     <?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:task="http://www.springframe            work.org/schema/task"  
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.o            rg/schema/beans/spring-beans.xsd  
        http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring            -task-3.0.xsd">  
        
     //先来一种 比较笨重的方法  ...要是多个定时任务 就有点吐啦
             <bean id="schedule" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
	        <property name="triggers">
				<list>
					<ref bean="testTrigger" />
				</list>
			</property>
		</bean>

	     <bean id="testTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
			<property name="jobDetail" ref="testJobDetail" />
			<property name="cronExpression" value="0 0/1 * * * ?" />
	    </bean>

	    <bean id="testJobDetail"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
			<property name="targetObject" ref="targetTestService" />  <!--定时任务的类-->
			<property name="targetMethod" value="job1" /> <!--要执行的方法-->
		</bean>

	   <bean id="targetTestService" class="com.tepusoft.web.TaskJob"
			scope="prototype">
	  </bean>

 再来一个比较简洁的多定时任务的配置(推荐)

代码语言:javascript
复制
    <task:annotation-driven /> <!-- 定时器开关,一定要加-->  
    <bean id="taskTest" class="com.tepusoft.web.TaskJob"></bean>  <!--定时任务的类-->
    <task:scheduled-tasks>   <!--这里面可以定义多个定时任务-->
        <task:scheduled ref="taskTest" method="job1" cron="5/3 * * * * ?" />  
    </task:scheduled-tasks>

基于注解的方式:

代码语言:javascript
复制
        <task:executor id="executor" pool-size="5" />
	<task:scheduler id="scheduler" pool-size="10" />
	<task:annotation-driven executor="executor" scheduler="scheduler" />

        // 定义  POJO 定时任务类 (基于注解的)  一定要spring容器扫描到哟
        /**
         * Spring3 @Scheduled 演示
         * @author GIE 2015年8月10日22:11:17
         */
        @Component
        public class SpringTaskDemo {
	    @Scheduled(cron = "0/5 * * * * *")
	    void doSomethingWith(){
		System.out.println("I'm doing with cron now!");
	}
    }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档