• 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是个容器,容器中有一个线程池,用来并行调度执行每个作业,这样可以提高容器效率。

  • 相关阅读:
    在线学习VIM
    对三叉搜索树的理解
    Suffix Tree
    Skip list
    中文分词算法
    土豆的seo
    Gentle.NET文档(链接)
    a标签的link、visited、hover、active的顺序
    html dl dt dd标签元素语法结构与使用
    WEBZIP为什么打不开网页
  • 原文地址:https://www.cnblogs.com/wxwBlog/p/6422949.html
Copyright © 2020-2023  润新知