java—为什么activiti中的进程在生命周期中丢失boundaryevent

r6l8ljro  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(413)

我创建了一个使用boundaryevent来表示某个操作已经完成的图。

<boundaryEvent id="boundarysignal1" name="cancel" attachedToRef="subprocess3" cancelActivity="true">
 <signalEventDefinition signalRef="cancelApplication"></signalEventDefinition>
 </boundaryEvent>

一切正常,但在一个时刻(我还没有捕捉到它),进程失去了绑定到事件,所以我不能使用流,这与boundaryevent有关。发现在运行时activiti在act\u ru\u event\u subscr表中创建记录,该表保存对存储流程示例数据的act\u hi\u procint表中相应记录的事件订阅。同时,我看到进程没有关闭并且处于活动状态,相应的endfield列为null。
下一个代码不返回任何内容,因为事件未绑定:

final List<Execution> executionList =runtimeService.createExecutionQuery().processVariableValueEquals("VAR_NAME","VAR_VALUE").signalEventSubscriptionName(SIGNAL_CANCEL_PROCESS).list();

同时,进程处于活动状态,下一个结果是成功:

final List<ProcessInstance> instances = runtimeService.createProcessInstanceQuery().variableValueEquals("VAR_NAME","VAR_VALUE").active().list();

boundaryevent与进程分离的原因是什么?
环境:springboot 1.3.2;活动5.19.0.2
act\ ru\事件\ subscr表(工作示例):

act\ U hi\ U procinst表格(工作示例):

act\ ru\事件\ subscr表格(非工作示例,表格为空):

act\ U hi\ U procinst表格(非工作示例):

过程定义图:

子流程1、2、3:

pzfprimi

pzfprimi1#

这里提到了一种可能性:
https://community.alfresco.com/docs/doc-4591
发行说明-activiti-版本5.20.0
...
部署新的进程定义版本时,信号和边界事件订阅将丢失
...
这是我们升级到5.20的主要原因

相关问题