定时任务迁移到SnailJob的优化历程

简化Quart集成:SnailJob封装与任务执行方法

前言

  1. 今天同事在对接我基于elasticJob二次开发的snailJob时,说需要把每个定时任务都要实现SimpleJob接口,感觉很麻烦,希望直接指定其方法,减少对接的成本
  2. Quart初始化总结:
    2.1 初始化scheduler
    2.2 将Job和触发器添加到scheduler中
    (1)Job对应于scheduler的jobDetail属性
    (2)触发器对应于scheduler的trigger属性
  3. Quart调用定时任务方法总结
    3.1 在JobDetail中指定Quart的Job,Quart调度时会触发Job的execute
    3.2 Job#execute触发器JobDataMap中指定类和方法

Spring如何集成Quart

  1. Spring集成Quart入口:

    <bean name="startQuertz" lazy-init="false" autowire="no"
    	  class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    	  <property name="triggers">
    	  		<list>
    	  			<ref bean="taskInfoSearchTaskJobTrigger" />
    				<ref bean="trackTrigger" />
    	  		</list>
    	  </property>
    	  <property name="configLocation" value="classpath:quartz.properties"/>
    </bean>		 
    
  2. SchedulerFactoryBean实现InitializingBean接口,故在afterPropertiesSet方法时会初始化Scheduler实例

    	public void afterPropertiesSet() throws Exception {
    		// 初始化scheduler 
    		this.scheduler = prepareScheduler(prepareSchedulerFactory());
    		try {
    		         ..........
    		         //注册定时任务
    				registerJobsAndTriggers();
    		}
    	}
    

    2.1 SchedulerFactoryBean继承SchedulerAccessor,其trig

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值