<flowable:executionListener delegateExpression="${customExp}" event="start" />获取不到bean
时间: 2023-07-06 15:24:04 浏览: 66
如果在Flowable中使用`<flowable:executionListener>`定义ExecutionListener,并将其委托给一个委托表达式`${customExp}`,但是无法获取到对应的bean,可能是因为以下原因:
1. Spring容器中没有定义对应的bean
如果在Flowable中使用`<flowable:executionListener>`定义ExecutionListener,并将其委托给一个委托表达式`${customExp}`,但是在Spring容器中没有定义对应的bean,那么在执行流程时就会出现无法获取bean的情况。解决方法是在Spring容器中定义对应的bean,例如:
```
@Component("customExp")
public class MyExecutionListenerDelegate implements ExecutionListener {
//...
}
```
2. 委托表达式中的bean名称不正确
如果在Flowable中使用`<flowable:executionListener>`定义ExecutionListener,并将其委托给一个委托表达式`${customExp}`,但是在Spring容器中定义的bean名称与委托表达式中的名称不一致,那么也会出现无法获取bean的情况。解决方法是在委托表达式中指定正确的bean名称,例如:
```
<flowable:executionListener delegateExpression="${myExecutionListenerDelegate}" event="start" />
```
3. 委托表达式中的类路径不正确
如果在Flowable中使用`<flowable:executionListener>`定义ExecutionListener,并将其委托给一个委托表达式`${customExp}`,但是在委托表达式中指定的类路径不正确,那么也会出现无法获取bean的情况。解决方法是在委托表达式中指定正确的类路径,例如:
```
<flowable:executionListener delegateExpression="${com.example.MyExecutionListenerDelegate}" event="start" />
```
这些都是可能导致无法获取bean的原因,需要根据具体情况进行排查。
阅读全文