我有活动过程,似乎没有像我期望的那样工作。
过程非常简单:
答案 0 :(得分:1)
您是否已将记录添加到"检查捕获的信号条件"确定所有信号是否实际触发此步骤? 此外,您可以查询信号订阅以确定您是否拥有您期望的数量:
列表执行= runtimeService.createExecutionQuery() .signalEventSubscriptionName("警报&#34) .LIST();
我希望您的检查逻辑处理不正确,或者您没有"令牌"等待信号。
格雷格
答案 1 :(得分:0)
我已根据可流动项目中已有的信号边界事件测试创建了简单的jUnit测试(应该与activiti一样)
@Deployment(resources = "org/activiti/engine/test/bpmn/event/signal/SignalEventTest.testSignalBoundaryOnSubProcess.bpmn20.xml")
public void testMultipleCatchEventsOnSubProcess() {
ProcessInstance processInstance1 = runtimeService.startProcessInstanceByKey("signalEventOnSubprocess");
ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("signalEventOnSubprocess");
ProcessInstance processInstance3 = runtimeService.startProcessInstanceByKey("signalEventOnSubprocess");
assertThat("There must be three subscriptions to the signal.", createEventSubscriptionQuery().count(), is(3L));
runtimeService.signalEventReceived("stopSignal");
assertProcessEnded(processInstance1.getProcessInstanceId());
assertProcessEnded(processInstance2.getProcessInstanceId());
assertProcessEnded(processInstance3.getProcessInstanceId());
}
测试通过。你能创建失败的jUnit测试来重现问题(带有依赖关系)吗?
马丁