Хотя я не могу ответить на ваш вопрос, у меня отлично работает следующее:
public class SomeDelegate implements JavaDelegate {
@Autowired
private SomeBean bean;
@Override
public void execute(DelegateExecution execution) {
System.out.println(this.bean);
}
}
Затем класс используется в процессе через `flowable: class =" packages.SomeDelegate "
Но имейте в виду, что у вас могут возникнуть проблемы с зависимостями автоматического подключения в bean-компоненте SomeBean
. Эти зависимости не вводятся с использованием атрибута flowable:class
. Чтобы это работало, вы должны сделать SomeDelegate
фактическим bean-компонентом (например, через @Service
) и использовать его в своем определении процесса через flowable:delegateExpression="${someDelegate}"
:
@Service("someDelegate")
public class SomeDelegate implements JavaDelegate {
...
и
<serviceTask id="doSomething" name="Do Something" flowable:delegateExpression="${someDelegate}"/>