执行节点报错:
2020-06-02 19:07:52 CST ERROR org.flowable.common.engine.api.FlowableException: Errors while parsing:
[Validation set: 'flowable-executable-process' | Problem: 'flowable-servicetask-missing-implementation'] : One of the attributes 'class', 'delegateExpression', 'type', 'operation', or 'expression' is mandatory on serviceTask. - [Extra info : processDefinitionId = service-fee-recharge-flow | processDefinitionName = 服务费充值单 | | id = taskPayFailure | | activityName = 充值失败c | ] ( line: 1, column: 1269)
[Validation set: 'flowable-executable-process' | Problem: 'flowable-servicetask-missing-implementation'] : One of the attributes 'class', 'delegateExpression', 'type', 'operation', or 'expression' is mandatory on serviceTask. - [Extra info : processDefinitionId = service-fee-recharge-flow | processDefinitionName = 服务费充值单 | | id = taskPaySuccess | | activityName = 已到账,充值成功f | ] ( line: 2, column: 5)
报错信息是Problem: 'flowable-servicetask-missing-implementation
关键内容是以下两行,有两个id
id = taskPayFailure | | activityName = 充值失败c | ] ( line: 1, column: 1269)
id = taskPaySuccess | | activityName = 已到账,充值成功f | ] ( line: 2, column: 5)
再联系报错内容:在serviceTask中,有五个属性必选其一.
One of the attributes 'class', 'delegateExpression', 'type', 'operation', or 'expression' is mandatory on serviceTask
serviceTask是flowable的Java服务任务.有四种表达方式:
有四种方法声明如何调用Java逻辑:
-
指定实现了JavaDelegate或ActivityBehavior的类
-
调用解析为委托对象(delegation object)的表达式
-
调用方法表达式(method expression)
-
对值表达式(value expression)求值
我把xml导出来,截图如下:
对比线上正在使用的是:
可以参考上图改正.
也可以用上面四种方法中的第一第二种,自己实现JavaDelegate或ActivityBehavior类.然后指定对象或者指定全限定名的类.
参考官方文档第8.5.3节:http://www.shareniu.com/flowable6.5_zh_document/bpm/index.html#bpmnJavaServiceTask