【发布时间】:2017-07-14 12:58:34
【问题描述】:
我创建了一个图表,它使用边界事件来表示某些操作已经完成。
<boundaryEvent id="boundarysignal1" name="cancel" attachedToRef="subprocess3" cancelActivity="true">
<signalEventDefinition signalRef="cancelApplication"></signalEventDefinition>
</boundaryEvent>
一切正常,但在某一时刻(我还没有捕捉到它),进程失去了与事件的绑定,所以我根本无法使用与边界事件相关的流。发现在运行时 Activiti 会在 ACT_RU_EVENT_SUBSCR 表中创建记录,该表保存对 ACT_HI_PROCINST 表中适当记录的事件订阅,该表存储流程实例数据。同时我看到该进程没有关闭并且处于活动状态,相应的 END_FIELD 列为空。
由于事件未绑定,下一个代码不返回任何内容:
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 与 Process 分离的原因是什么?
环境:SpringBoot 1.3.2 ;活动 5.19.0.2
【问题讨论】:
-
什么在发送 cancelApplication 信号?能发一下全过程图吗?当内部过程结束时会发生什么?
-
我的意思是 process.bpmn.xml 模式。您是使用 activiti 建模器还是手动构建这些流程?
-
Q1:“您是使用 Activiti 建模器还是手动构建这些流程?” A1:我正在使用 Activiti 可视化插件来创建 bpmn.xml shema。 Q2:“什么在发送 cancelApplication 信号?” A2:它是从代码发送的。 Q3:“可以发全过程图吗?” A3:已经添加了子流程的图表
标签: java alfresco activiti bpmn