List of usage examples for org.springframework.statemachine StateMachineSystemConstants STATEMACHINE_IDENTIFIER
String STATEMACHINE_IDENTIFIER
To view the source code for org.springframework.statemachine StateMachineSystemConstants STATEMACHINE_IDENTIFIER.
Click Source Link
From source file:org.springframework.statemachine.ensemble.DistributedStateMachine.java
@Override public boolean sendEvent(Message<E> event) { // adding state machine id to the message so that // listeners can know from where a state change originates return delegate.sendEvent(MessageBuilder.fromMessage(event) .setHeader(StateMachineSystemConstants.STATEMACHINE_IDENTIFIER, delegate.getUuid()).build()); }
From source file:org.springframework.statemachine.support.DefaultStateMachineExecutor.java
private StateContext<S, E> buildStateContext(Message<E> message, Transition<S, E> transition, StateMachine<S, E> stateMachine) { // TODO: maybe a direct use of MessageHeaders is wring, combine // payload and headers as a message? // add sm id to headers so that user of a StateContext can // see who initiated this transition MessageHeaders messageHeaders = message != null ? message.getHeaders() : new MessageHeaders(new HashMap<String, Object>()); Map<String, Object> map = new HashMap<String, Object>(messageHeaders); if (!map.containsKey(StateMachineSystemConstants.STATEMACHINE_IDENTIFIER)) { // don't set sm id if it's already present because // we want to keep the originating sm id map.put(StateMachineSystemConstants.STATEMACHINE_IDENTIFIER, stateMachine.getUuid()); }/*ww w .j a v a 2 s. c o m*/ return new DefaultStateContext<S, E>(Stage.TRANSITION, message, new MessageHeaders(map), stateMachine.getExtendedState(), transition, stateMachine, null, null, null); }