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

将Activiti 5 BPMN进程迁移到Flowable 6

江鹏
2023-03-14

我正在将我的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-migration-exportance的Flowable指南

由于创建ProcessInstanceMigrationBuilder的方法被移动到ProcessMigrationService,所以我的代码看起来像

processMigrationService
    .createProcessInstanceMigrationBuilder()
    .migrateToProcessDefinition(v6ProcessDefinition.getId()) // I checked it using engineVersion <> Flowable5Util.V5_ENGINE_TAG
    .migrate(processInstance.getId())
org.flowable.common.engine.api.FlowableException: Flowable 5 process definitions are not supported
    at org.flowable.engine.impl.dynamic.AbstractDynamicStateManager.resolveActiveExecution(AbstractDynamicStateManager.java:186) ~[flowable-engine-6.5.0.jar:6.5.0]
    at org.flowable.engine.impl.dynamic.AbstractDynamicStateManager.resolveMoveExecutionEntityContainers(AbstractDynamicStateManager.java:108) ~[flowable-engine-6.5.0.jar:6.5.0]
    at org.flowable.engine.impl.migration.ProcessInstanceMigrationManagerImpl.doMigrateProcessInstance(ProcessInstanceMigrationManagerImpl.java:425) ~[flowable-engine-6.5.0.jar:6.5.0]
    at org.flowable.engine.impl.migration.ProcessInstanceMigrationManagerImpl.migrateProcessInstance(ProcessInstanceMigrationManagerImpl.java:390) ~[flowable-engine-6.5.0.jar:6.5.0]
    at org.flowable.engine.impl.ProcessMigrationServiceImpl.migrateProcessInstance(ProcessMigrationServiceImpl.java:62) ~[flowable-engine-6.5.0.jar:6.5.0]
    at org.flowable.engine.impl.migration.ProcessInstanceMigrationBuilderImpl.migrate(ProcessInstanceMigrationBuilderImpl.java:138) ~[flowable-engine-6.5.0.jar:6.5.0]

但是当Flowable在我的v5 bpmn流程实例中执行一些逻辑时,我得到了一个异常,即“不支持Flowable 5流程定义”。我在这里感到困惑,Flowable提供的API的目的是将v5的bpmn流程实例迁移到v6,当我运行它时,它说我的流程定义不受支持。

共有1个答案

颜志业
2023-03-14

迁移API的目的是支持在可流动的6个流程实例的不同流程定义版本之间进行迁移。

不支持将流程实例从Activiti/Flowable5迁移到Flowable6,因为它们具有不同的结构。兼容性层在那里,所以您可以保持旧的可流动的5个流程实例与可流动的6个流程实例并行运行。

 类似资料:
  • 我正在使用OpenJDK 12中的Nashorn JS引擎。纳肖恩似乎遭到了反对。我正在寻找可用的替代方案。我找到了GraalVM,但我不确定这是不是最好的。如何从Java执行GraalVM JavaScript?你有什么例子吗? Nashorn用的是Java: 在Nashorn中,我创建了一个WrappedMongoDatabase,它扩展了AbstractJSObject。在那里,我添加了一些

  • 问题内容: 将Express.js从版本2更新到了版本3,以下调用中断了,因为它不再存在于V3中: 有一个迁移指南说: (使用中间件+ res.locals) 但是我很困惑如何做到这一点。是否有一个更具体的示例说明如何进行迁移? 相关的SO post: Node.js Express3.0 问题答案: 我有同样的问题 session.user ,只是通过了解该app.use功能必须是固定的, 在

  • 我正试图从maven迁移到gradle,但CheckStyle出现了一个奇怪的错误。 这是我得到的错误 如何让gradle使用最新版本的CheckStyle?值得注意的是,我的使用了maven checkstyle 6.10.1和6.8

  • 我要迁移一个JavaApplet通过JNLP启动,作为一个Java的Web Start应用程序,并遇到一些麻烦/误解... 我得到的资源之一是这样的:6迁移JavaAppletJavaWeb Start和JNLP: 让我们开始吧,但是: 目前,该应用程序是一个小程序(),过去是通过将小程序标记嵌入到HTML中来启动的,小程序标记指的是JNLP。 现在,由于所有浏览器都放弃了对小程序的支持,我应该将

  • Angular 是使用 TypeScript 构建的,并且支持向 Angular 提供元信息的装饰器。 TypeScript 的装饰器会让语法感觉更加“自然”,尽管有可能使用 Angular 没有的功能。