服务任务中的 Flowable delegateExpression 不起作用

Flowable delegateExpression in service task is not working

我用的flowable版本是6.4.1.

@Component

public class MyClass implements JavaDelegate {

    @Autowired
    private MySampleService mySampleService;

    @Override
    public void execute(DelegateExecution delegateExecution){
        sampleService.doSomeTask();
    }
}

此处,将为 class MyClass 创建 myClass bean。因此,在 bpmn 中,我可以像 flowable:delegateExpression="${myClass}".

这样使用它

但是我遇到了错误

"unknown property used in expression: ${myClass}"

如果没有 delegateExpression,mySampleService 将为 null。

有什么建议吗?

flowable有两种配置方式:

  1. 手动 - 使用“常规”时 Spring,您还需要注册 ProcessEngineFactoryBean。这将采用 engineConfiguration 并创建一个可以访问表达式管理器的 SpringExpressionManager (https://github.com/flowable/flowable-engine/blob/master/modules/flowable-spring/src/main/java/org/flowable/spring/SpringExpressionManager.java)。
  2. Spring启动,提供开箱即用的配置。只需提供所需的 bean,如 DataSource、AsyncExecutor 等(根据您的场景),spring boot 将处理其余部分。