J2EE企业级定时调度

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

  • JDK自带的并发框架

  • 开源的Quartz调度框架

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

调度方式:

  1. JDK自带的并发框架
    ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor( );
    scheduler.scheduleAtFixedRate(new Runnable() {
        @Override
        public void run() {
            }
    }, 10, 2, TimeUnit.MILLISECONDS);
  1. 开源的Quartz调度框架:

    scheduler.scheduleJob(jobDetail, trigger);
  2. 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值