您的位置:首页 > 其它

J2EE企业级定时调度

2016-05-16 13:36 253 查看

企业级定时调度常用的有3种:

JDK自带的并发框架

开源的Quartz调度框架

基于前面两种进行封装的SPRING定时调度框架

调度方式:

JDK自带的并发框架

ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor( );
scheduler.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
}
}, 10, 2, TimeUnit.MILLISECONDS);


开源的Quartz调度框架:

scheduler.scheduleJob(jobDetail, trigger);


SPRING定时调度框架:

SPRING对前面两种进行了简化封装,尤其是第一种;

对JDK并发框架的封装,对源码感兴趣的可以查看ScheduledAnnotationBeanPostProcessor和ScheduledTaskRegistrar的源码

配置举例:

<task:scheduled-tasks>
<task:scheduled ref="logImpTask" method="impActionLogToDb"
fixed-delay="5000" />
</task:scheduled-tasks>


ref含义:spring容器的beanId

method含义:调用的方法

fixed-delay:每隔多少时间调用(单位秒)

cron :cron表达式

对QUARTZ的封装,对源码感兴趣的可以查看SchedulerFactoryBean源码;

通过
@Autowired Scheduler scheduler;
引用Scheduler后,调用quartz的相关方法,可以根据实际需要动态的增删调度。

除此之外还有分布调度,充分利用多节点优势进行任务计算,如:当当网的elasticjob
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  企业级 定时调度