我们在处理过程中发现了一些奇怪的情况。我们在连接到一个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