Можно ли улучшить определение действий, чтобы иметь возможность взаимодействовать с ними с помощью параметров динамики?
Да, это возможно. Вы можете сохранить переменные в хранилище контекста и затем извлекать их в любом месте.
public class Test {
@Autowired
StateMachine<State, Boolean> stateMachine;
public void testMethod() {
stateMachine.getExtendedState().getVariables().put(key, value);
stateMachine.start();
stateMachine.sendEvent(true);
}
}
И вы можете получить это значение из контекста, используя ключ. Предположим, что значение имеет тип String, тогда его можно получить следующим образом: -
@Bean
public Action<State, Boolean> retrieveCustomerAction() {
return ctx -> {
String value = ctx.getExtendedState().get(key, String.class);
// Do Something
};
}
Более подробно вы можете ссылаться на link и this
Как я могу добавить поведение потребителей или поставщиков к этим действиям?
Не могли бы вы подробнее остановиться на этом вопросе