在optimisticLockException之后执行两次异步作业

时间:2016-09-27 17:22:49

标签: java activiti

我们在处理过程中发现了一些奇怪的情况。我们在连接到一个db的多集群环境中使用您的引擎。我们的流程定义包含下面给出的serviceTask:

<serviceTask id="ms" name="ms" activiti:async="true" activiti:delegateExpression="${msDelegate}">
  <extensionElements> <activiti:failedJobRetryTimeCycle>R3/PT60M</activiti:failedJobRetryTimeCycle> </extensionElements>
</serviceTask>

任务之前是timerEvent,等待新月的开始。在这个月我们发现了几个类似下面的情况(这些是来自其中一个应用程序节点的日志 - 情况发生在一台机器上):

INFO [2016-06-01 00:11:20.949] [,o.a.c.s.S.S.Service           ,provideAsyncJobExecutor-7,,,,1] Outbound Message
INFO [2016-06-01 00:11:37.860] [,o.a.c.s.S.S.Service           ,provideAsyncJobExecutor-7,,,,1 Inbound Message
WARN [2016-06-01 00:11:37.947] [,.e.LoggingExecuteAsyncRunnable,provideAsyncJobExecutor-7,,,,1] Optimistic locking exception during job execution: 836c28ab-6fc6-11e6-80e5-005056aa1dfc
INFO [2016-06-01 00:11:59.582] [,o.a.c.s.S.S.Service           ,provideAsyncJobExecutor-7,,,,1] Outbound Message
INFO [2016-06-01 00:11:59.824] [,o.a.c.s.S.S.Service           ,provideAsyncJobExecutor-7,,,,1] Inbound Message
ERROR [2016-06-01 00:11:59.844] [,.e.LoggingExecuteAsyncRunnable,provideAsyncJobExecutor-7,,,,1] Job 836c28ab-6fc6-11e6-80e5-005056aa1dfc failed

步骤说明:

1首出站消息/入站消息 - &gt; WS呼叫以成功结束。

2作业执行期间的乐观锁定异常:836c28ab-6fc6-11e6-80e5-005056aa1dfc

3出站留言/入站留言 - &gt;与#1相同,但以失败告终(因为已经完成)

我的第一个问题 - 在第一次WS调用之后可能导致ActivitiOptimisticLockingException的原因是什么?我无法找到任何显示的日志,这个作业同时由另一个节点处理。 第二个 - 什么可能在如此短的时间内导致第二次WS调用,由同一个线程执行?你有任何建议,可能出现什么问题,或者我们在哪里寻找潜在的问题?

Activiti版本:5.19.0.2

0 个答案:

没有答案