当前位置: 首页 > 知识库问答 >
问题:

Activiti-将进程实例从Activiti 5.21.0迁移到Activiti 6时出错

凌联
2023-03-14

我已经根据https://www.activiti.org/migration.html的指南处理了从5.21.0到6.0.0的迁移活动(我更新了文件activiti-rest/web-inf/类/activiti-custom-context.xml以设置activiti5CompatibilityEnabled和activiti5CompatibilityHandlerFactory

<bean id="activiti5CompabilityFactory" class="org.activiti.compatibility.spring.SpringActiviti5CompatibilityHandlerFactory" />
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
.........
<property name="activiti5CompatibilityEnabled" value="true" />
<property name="activiti5CompatibilityHandlerFactory" ref="activiti5CompabilityFactory" />
</bean>

并将Activiti5-Compatibility-6.0.0.jar、Activiti5-Engine-6.0.0.jar、Activiti5-Spring-6.0.0.jar、Activiti5-Spring-Compatibility-6.0.0.jar复制到Activiti-REST的库和Activiti-App的库)

我有一个旧版本的活动流程实例,如下所示

迁移后,我仍然得到了一个this process实例,但是当我提交user task、service task execute并抛出BpmnError时,BoundaryEvent无法捕获此异常,我在日志中得到了一个错误

03:29:59,686 [activiti-async-job-executor-thread-2] ERROR org.activiti.engine.impl.interceptor.CommandContext - Error while closing command context
org.activiti.engine.ActivitiException: Programmatic error: no parent scope execution found for boundary event
at org.activiti.engine.impl.bpmn.behavior.BoundaryEventActivityBehavior.executeInterruptingBehavior(BoundaryEventActivityBehavior.java:85)
at org.activiti.engine.impl.bpmn.behavior.BoundaryEventActivityBehavior.trigger(BoundaryEventActivityBehavior.java:56)

编程错误:在BoundaryEventActivityBehavior.ExecuteInterruptingBehavior(BoundaryEventActivityBehavior.java:85)=>中未找到边界事件的父作用域执行(服务任务-它在旧版本上正常工作)。

共有1个答案

闾丘坚诚
2023-03-14

由于Activiti用户指南定义了边界错误事件-

定义边界错误事件对于嵌入的子流程或调用activity最有意义,因为子流程会为子流程内部的所有活动创建一个作用域。错误由错误结束事件引发。这样的错误将向上传播其父作用域,直到找到一个作用域,在该作用域上定义了与错误事件定义匹配的边界错误事件。

当捕获到错误事件时,定义边界事件的activity将被销毁,同时也会销毁内部当前的所有执行(例如并发活动、嵌套子进程等)。流程在边界事件的传出序列流之后继续执行。

解决方法:在您的服务任务完成后尝试网关,以检查是否满足完成该过程的条件-说明

 类似资料:
  • 我正在将我的Activiti5流程实例迁移到Flowable6.5,请遵循https://blog.Flowable.org/2019/08/07/migration-of-a-bpmn-process/和https://Flowable.com/open-source/docs/bpmn/ch09-processinstanceMigration/#process-instance-migrat

  • 你能帮助我们哪里错了或者需要做什么吗… 提前感谢…

  • 我基本上是在Crashlytics中遵循迁移指南(这篇文章对其进行了总结)。 我一字不差地遵循相同的说明,您可以从我的中看到: 然而,当我同步我的Gradle时,我得到了这个错误: 5:02 PM Gradle同步失败:找不到DefaultDependencyHandler类型org.gradle.api.internal.artifacts.dsl.dependencies.对象的参数[com.

  • 从2.1.0迁移的Springboot版本2.2.1

  • 我正在尝试将Mockito测试从Junit 4迁移到Junit 5,方法是将替换为,但这会导致以下错误。不知道我错过了什么,任何帮助都将非常感谢。 测试类:- 从Intellij运行测试时的错误日志:-

  • 我在雪花上做POC,探索这个产品。 我有一个问题:在SQL Server中,我们有400-500个存储过程,这些存储过程是从SSRS报告调用的。这些存储过程本质上很简单,如下所示: