[心缘地方]同学录
首页 | 功能说明 | 站长通知 | 最近更新 | 编码查看转换 | 代码下载 | 常见问题及讨论 | 《深入解析ASP核心技术》 | 王小鸭自动发工资条VBA版
登录系统:用户名: 密码: 如果要讨论问题,请先注册。

[整理]spring里quartz的并发设置

上一篇:[备忘]国际机票,姓名和出生日期
下一篇:[备忘]jackson转换json到对象,报错com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException

添加日期:2016/7/28 15:16:04 快速返回   返回列表 阅读2115次
service里代码:


long a = System.currentTimeMillis();
System.out.println(a + "--run---");
Thread.sleep(10000);
System.out.println(a + "--run end---");



定义为5秒执行一次。

quartz的配置,开始是:


    <bean id="dataImportJobDetail"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="dataImportService" />
        <property name="targetMethod" value="excute" />
    </bean>

    <bean id="dataImportJobCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="dataImportJobDetail" />
        <property name="cronExpression" value="${demo.scheduler.time}" />
    </bean>


输出是:
1469689855015--run---
1469689860001--run---
1469689865007--run---
1469689855015--run end---
1469689860001--run end---
1469689870003--run---
1469689875000--run---
1469689865007--run end---
1469689880001--run---
1469689870003--run end---
1469689875000--run end---
1469689885001--run---
即多个线程并发执行了。

后来改成:


    <bean id="dataImportJobDetail"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="dataImportService" />
        <property name="targetMethod" value="excute" />
        <property name="concurrent" value="false" /> <!-- 禁止并发,第一次未执行完,后续的要等待 -->
    </bean>

    <bean id="dataImportJobCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="dataImportJobDetail" />
        <property name="cronExpression" value="${demo.scheduler.time}" />
    </bean>



输出是:
1469689935121--run---
1469689935121--run end---
1469689945122--run---
1469689945122--run end---
1469689955125--run---
1469689955125--run end---
1469689965126--run---
1469689965126--run end---
即等同于单线程执行了。

 

评论 COMMENTS
没有评论 No Comments.

添加评论 Add new comment.
昵称 Name:
评论内容 Comment:
验证码(不区分大小写)
Validation Code:
(not case sensitive)
看不清?点这里换一张!(Change it here!)
 
评论由管理员查看后才能显示。the comment will be showed after it is checked by admin.
CopyRight © 心缘地方 2005-2999. All Rights Reserved