Я бы предложил настроить и использовать FlowExecutionListener
, в частности методы sessionStarted
, stateEntered
и sessionEnded
, вы можете получить идентификатор состояния, используя context.getCurrentState().getId()
public class MyFlowListener implements FlowExecutionListener {
@Override
public void stateEntered(RequestContext context, StateDefinition previousState, StateDefinition state) {
}
@Override
public void sessionStarted(RequestContext context, FlowSession session) {
}
@Override
public void sessionEnded(RequestContext context, FlowSession session, String outcome, AttributeMap<?> output) {
}
}
вы можете зарегистрировать своего слушателя следующим образом (xml config):
<bean id="myFlowListener" class="my.custom.webflow.MyFlowExecutionListener"/>
<webflow:flow-executor id="flowExecutor">
<webflow:flow-execution-listeners>
<webflow:listener ref="myFlowListener"/>
</webflow:flow-execution-listeners>
</webflow:flow-executor>