zoukankan      html  css  js  c++  java
  • spring定时任务

    targetObject-ref:指向你要定时加载的目标类。
    targetMethod:指向定时加载目标类中需要执行的方法。即定时执行smsSendService类的autoSmsTime()方法。
    concurrent="false":表示不并发操作。对于相同的JobDetail,当指定多个Trigger时, 很可能第一个job完成之前,第二个job就开始了。指定concurrent设为false,多个job不会并发运行,第二个job将不会在第一个job完成之前开始。

    示例:

    <!-- 定义目标bean和bean中的方法 -->
    <bean id="simpleJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject">
    <bean class="com.dhb.quartz.QueryTranStatusService" />
    </property>
    <property name="targetMethod" value="execute" />
    <property name="concurrent" value="true" />
    </bean>
    <!-- 调度触发器 -->
    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail" ref="simpleJobDetail" />
    <property name="cronExpression" value="0 0/2 * * * ?" />
    </bean>

    spring定时器实现原理?
    核心概念
    1、scheduler是一个计划调度器容器,容器里面可以盛放众多的JobDetail和trigger,当容器启动后,里面的每个JobDetail都会根据trigger按部就班自动去执行。
    2、JobDetail是一个可执行的工作,它本身可能是有状态的。
    3、Trigger代表一个调度参数的配置,什么时候去调。
    4、当JobDetail和Trigger在scheduler容器上注册后,形成了装配好的作业(JobDetail和Trigger所组成的一对儿),就可以伴随容器启动而调度执行了。
    5、scheduler是个容器,容器中有一个线程池,用来并行调度执行每个作业,这样可以提高容器效率。

  • 相关阅读:
    [bzoj4417] [洛谷P3990] [Shoi2013] 超级跳马
    [bzoj4011] [洛谷P3244] [HNOI2015] 落忆枫音
    [bzoj1875] [洛谷P2151] [SDOI2009] HH去散步
    [bzoj4827] [洛谷P3723] [Hnoi2017] 礼物
    [bzoj2326] [洛谷P3216] [HNOI2011] 数学作业
    [bzoj3105] [cqoi2013] 新Nim游戏
    [YTU]_2353 ( 长方柱类【C++ 类定义】)
    [YTU]_2627 (职工工资统计)
    [YTU]_2769( 结构体--成绩统计)
    [YTU]_2577( 小数计算——结构体)
  • 原文地址:https://www.cnblogs.com/wxwBlog/p/6422949.html
Copyright © 2011-2022 走看看