我正在创建一个流程实例:
processInstance = runtimeService.startProcessInstanceByKeyAndTenantId(key, initialParameters, tenantId + (isTest ? TEST_TENANT_SUFFIX : PRODUCTION_TENANT_SUFFIX));
总是返回一个processInstance,但有时(看似随机)返回的流程实例在数据库中不存在:
historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstance.getId()).singleResult() == null
runtimeService.createProcessInstanceQuery().processInstanceId(processInstance.getId()).singleResult() == null
我还记录了mariadb查询,并且我注意到实例不存在的时间;数据库中没有记录任何插入查询,因此未插入然后删除流程实例。
这些问题在迁移到activiti6后开始出现。我也使用了activiti-spring-boot-starter-basic
答案 0 :(得分:0)
经过大量的调试后,我发现Activiti的命令上下文在我的代码中被操纵,这导致了随机行为。