由于目前了解不深 仅仅 对于目前的工程了解来说的,不能全部通用,对大家来说仅仅可以作为参考
1、在impl 中的pom文件中引入
<!-- 引入UcfJob核心模块 -->
<dependency>
<groupId>com.ucf.schedule</groupId>
<artifactId>ucf-schedule-client</artifactId>
</dependency>
<!-- 使用springframework自定义命名空间时引入 -->
<!-- 使用springframework自定义命名空间时引入 -->
<dependency>
<groupId>com.ucf.schedule</groupId>
<artifactId>ucf-schedule-spring</artifactId>
</dependency>
这两个是内部封装的jar包、
2、在parent的pom文件中引入对应的版本
<!-- 定时处理 -->
<!-- 引入UcfJob核心模块 -->
<dependency>
<groupId>com.ucf.schedule</groupId>
<artifactId>ucf-schedule-client</artifactId>
<version>1.0.1-SNAPSHOT</version>
</dependency>
<!-- 使用springframework自定义命名空间时引入 -->
<dependency>
<groupId>com.ucf.schedule</groupId>
<artifactId>ucf-schedule-spring</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
这样就将内部 的封装自动任务的包引入
3、在parent 工程中的总的spring xml文件中 :prod-applicationContext.xml
引入自动任务资源
<!--add bywangqiaomin 2016-04-19 自动任务配置-->
<import resource="classpath:/spring/schedule-context.xml" />
这个资源文件存在于 impl工程中的spring文件夹下
4、这是schedule-context.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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:reg="http://www.ucfgroup.com/schema/schedule/reg" xmlns:job="http://www.ucfgroup.com/schema/schedule/job"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://www.ucfgroup.com/schema/schedule/reg
http://www.ucfgroup.com/schema/schedule/reg/reg.xsd
http://www.ucfgroup.com/schema/schedule/job
http://www.ucfgroup.com/schema/schedule/job/job.xsd">
<!--配置作业注册中心 -->
<reg:zookeeper id="regCenter" serverLists="${dubbo.registry}" baseSleepTimeMilliseconds="1000" maxSleepTimeMilliseconds="3000" maxRetries="3" />
<!-- 自动关闭过期的流出产品 每天0点5分执行 -->
<job:bean id="expireTimeTask" group="prodbuiness"
class="com.ucf.prodcenter.schedule.ExpireTimeTask"
regCenter="regCenter" cron="0 5 0 * * ?" fetchDataCount="500"
concurrentDataProcessThreadCount="5" cycleFetchData="false" />
</beans>
5、建立自动任务类
public class ExpireTimeTask extends AbstractThroughputDataFlowUcfJob<String> {
@Override
public List<String> fetchData(JobExecutionMultipleShardingContext arg0) {
}
@Override
public void processData(JobExecutionMultipleShardingContext arg0,final String id) throws Exception {
}
}
这是架构封装的 包 里面包含的方法,用来分片执行,第一个找出符合条件的库数据,第二个对这些符合条件的数据 按照出入过来的id进行操作
原文地址:http://7129486.blog.51cto.com/7119486/1772719