From 5227aea34b5963cc5ec79ef5ec8c930e43a5e6ca Mon Sep 17 00:00:00 2001 From: Janne Valkealahti Date: Wed, 30 Dec 2015 10:55:56 +0000 Subject: [PATCH] Add synchronization - Relates to #135 --- .../statemachine/support/AbstractStateMachine.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/AbstractStateMachine.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/AbstractStateMachine.java index bdf2a5e9..f5985774 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/AbstractStateMachine.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/AbstractStateMachine.java @@ -570,7 +570,7 @@ public abstract class AbstractStateMachine extends StateMachineObjectSuppo return id; } - protected boolean acceptEvent(Message message) { + protected synchronized boolean acceptEvent(Message message) { if ((currentState != null && currentState.shouldDefer(message))) { log.info("Current state " + currentState + " deferred event " + message); stateMachineExecutor.queueDeferredEvent(message); @@ -704,7 +704,7 @@ public abstract class AbstractStateMachine extends StateMachineObjectSuppo return null; } - void setCurrentState(State state, Message message, Transition transition, boolean exit, StateMachine stateMachine) { + synchronized void setCurrentState(State state, Message message, Transition transition, boolean exit, StateMachine stateMachine) { State findDeep = findDeepParent(state); boolean isTargetSubOf = false;