在 Activiti 6 中用于表达的未知方法

问题描述

从 activiti 5 迁移到 6 后,我在初始化应用程序时出现此错误

Caused by: org.activiti5.engine.ActivitiException: UnkNown method used in expression: #{elCorService.makePlat(corWorkflowService.buildContext(execution))}
    at org.activiti5.engine.impl.el.JuelExpression.getValue(JuelExpression.java:56)
    at org.activiti5.engine.impl.bpmn.behavior.ServiceTaskExpressionActivityBehavior.execute(ServiceTaskExpressionActivityBehavior.java:71)
    ... 199 more

... Caused by: javax.el.MethodNotFoundException: Method not found: class com.sun.proxy.$Proxy360.buildContext(org.activiti.engine.impl.persistence.entity.ExecutionEntityImpl)

解决方法

您是否有引用“org.activiti.engine.impl.persistence.entity.ExecutionEntity”而不是“org.activiti.engine.impl.persistence.entity.ExecutionEntityImpl”的自定义代码?特别是“corWorkflowService.buildContext()”。

这是记录在 5 到 6 之间的更改:https://www.activiti.org/migration

5.7. EntityManagers

In Activiti version 5,all EntityManager (responsible for persistence but also certain 
logic) classes did not have an interface. In version 6,all EntityManager classes have 
been renamed to have Impl as suffix and an interface without the suffix. This 
effectively means that the version 5 EntityManager class name is now the name of the 
corresponding interface.

All EntityManager interfaces extend the generic 
org.activiti.engine.impl.persistence.entity.EntityManager interface. All 
implementation classes extend a generic AbstractEntityManager interface.

Also,for consistency: * The UserIdentityManager interface has been renamed to 
UserEntityManager * The GroupIdentityManager interface has been renamed to 
GroupEntityManager