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