也许我表述的不太清楚...举个例子.
我配置了2个Trigger: A,B.
A:每个月最后一天凌晨运行,且运行时间较长;
B:每几分钟运行.当2个Trigger在同一小段时间内一起先后运行时,会有冲突...
因为2个事务都有对Session进行数据更改,A先运行,取Session C数据,然后计算(计算过程比较漫长),而B现在开始运行,再取Session C数据,计算(花几秒时间)后进行修改,而等到A计算完后再去改则就出现数据无法同步的错误.试问:能不能再A 运行时让B不被触发?
或者别有其他的方法?

解决方案 »

  1.   

    你还是没有把问题说清楚。因为2个事务都有对Session进行数据更改,A先运行,取Session   C数据,然后计算(计算过程比较漫长),而B现在开始运行,再取Session   C数据,计算(花几秒时间)后进行
    修改(修改什么?),而等到A计算完后再去改(修改什么?)则就出现数据(哪些数据?)无法同步的错误(具体错误表现?). 能不能再A   运行时让B不被触发? 
    这是可以办到的,可以在运行B的任务之前,获得scheduler(应该是全局唯一的,如果不唯一就是你们错误的使用了Quartz)的引用,然后通过scheduler的引用来判断A的任务有没有在执行,在执行则等待A完成。