diff --git a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/TimerSmokeTests.java b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/TimerSmokeTests.java index 272112c8..cff6dca8 100644 --- a/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/TimerSmokeTests.java +++ b/spring-statemachine-build-tests/src/test/java/org/springframework/statemachine/buildtests/TimerSmokeTests.java @@ -36,10 +36,6 @@ public class TimerSmokeTests { private StateMachine buildMachine() throws Exception { StateMachineBuilder.Builder builder = StateMachineBuilder.builder(); - builder.configureConfiguration() - .withConfiguration() - .taskExecutor(taskExecutor); - builder.configureStates() .withStates() .initial("initial") @@ -61,10 +57,6 @@ public class TimerSmokeTests { private StateMachine buildMachine2() throws Exception { StateMachineBuilder.Builder builder = StateMachineBuilder.builder(); - builder.configureConfiguration() - .withConfiguration() - .taskExecutor(taskExecutor); - builder.configureStates() .withStates() .initial("initial").end("end").and() diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/StateMachineSystemConstants.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/StateMachineSystemConstants.java index c812a624..abfee972 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/StateMachineSystemConstants.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/StateMachineSystemConstants.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -34,8 +34,4 @@ public abstract class StateMachineSystemConstants { /** State machine id key for headers and variables */ public static final String STATEMACHINE_IDENTIFIER = "_sm_id_"; - - /** Bean name for task executor */ - public static final String TASK_EXECUTOR_BEAN_NAME = "stateMachineTaskExecutor"; - } diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/AbstractStateMachineFactory.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/AbstractStateMachineFactory.java index df6c10c9..bee6f634 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/AbstractStateMachineFactory.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/AbstractStateMachineFactory.java @@ -34,9 +34,7 @@ import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.BeanNameAware; import org.springframework.context.SmartLifecycle; -import org.springframework.core.task.TaskExecutor; import org.springframework.messaging.Message; -import org.springframework.scheduling.TaskScheduler; import org.springframework.statemachine.ExtendedState; import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateMachine; @@ -229,9 +227,9 @@ public abstract class AbstractStateMachineFactory extends LifecycleObjectS String mId = machineId != null ? machineId : stateMachineModel.getConfigurationData().getMachineId(); mId = mId + "#" + (rId != null ? rId.toString() : ""); - machine = buildMachine(machineMap, stateMap, holderList, regionStateDatas, transitionsData, resolveBeanFactory(stateMachineModel), - contextEvents, defaultExtendedState, stateMachineModel.getTransitionsData(), resolveTaskExecutor(stateMachineModel), - resolveTaskScheduler(stateMachineModel), mId, null, stateMachineModel); + machine = buildMachine(machineMap, stateMap, holderList, regionStateDatas, transitionsData, + resolveBeanFactory(stateMachineModel), contextEvents, defaultExtendedState, + stateMachineModel.getTransitionsData(), mId, null, stateMachineModel); regionStack.push(new MachineStackItem(machine)); machines.add(machine); } @@ -255,17 +253,16 @@ public abstract class AbstractStateMachineFactory extends LifecycleObjectS states.add(rstate); Transition initialTransition = new InitialTransition(rstate); StateMachine m = buildStateMachineInternal(states, new ArrayList>(), rstate, initialTransition, - null, defaultExtendedState, null, contextEvents, resolveBeanFactory(stateMachineModel), resolveTaskExecutor(stateMachineModel), - resolveTaskScheduler(stateMachineModel), beanName, + null, defaultExtendedState, null, contextEvents, resolveBeanFactory(stateMachineModel), beanName, machineId != null ? machineId : stateMachineModel.getConfigurationData().getMachineId(), uuid, stateMachineModel); machine = m; machines.add(m); } } else { - machine = buildMachine(machineMap, stateMap, holderList, stateDatas, transitionsData, resolveBeanFactory(stateMachineModel), contextEvents, - defaultExtendedState, stateMachineModel.getTransitionsData(), resolveTaskExecutor(stateMachineModel), resolveTaskScheduler(stateMachineModel), - machineId, uuid, stateMachineModel); + machine = buildMachine(machineMap, stateMap, holderList, stateDatas, transitionsData, + resolveBeanFactory(stateMachineModel), contextEvents, defaultExtendedState, + stateMachineModel.getTransitionsData(), machineId, uuid, stateMachineModel); machines.add(machine); if (peek.isInitial() || (!peek.isInitial() && !machineMap.containsKey(peek.getParent()))) { machineMap.put(peek.getParent(), machine); @@ -473,22 +470,6 @@ public abstract class AbstractStateMachineFactory extends LifecycleObjectS } } - protected TaskExecutor resolveTaskExecutor(StateMachineModel stateMachineModel) { - if (stateMachineModel.getConfigurationData().getTaskExecutor() != null) { - return stateMachineModel.getConfigurationData().getTaskExecutor(); - } else { - return getTaskExecutor(); - } - } - - protected TaskScheduler resolveTaskScheduler(StateMachineModel stateMachineModel) { - if (stateMachineModel.getConfigurationData().getTaskScheduler() != null) { - return stateMachineModel.getConfigurationData().getTaskScheduler(); - } else { - return getTaskScheduler(); - } - } - protected StateMachineModel resolveStateMachineModel(String machineId) { if (stateMachineModelFactory == null) { return defaultStateMachineModel; @@ -590,9 +571,9 @@ public abstract class AbstractStateMachineFactory extends LifecycleObjectS @SuppressWarnings("unchecked") private StateMachine buildMachine(Map> machineMap, Map> stateMap, - List> holderList, Collection> stateDatas, Collection> transitionsData, - BeanFactory beanFactory, Boolean contextEvents, DefaultExtendedState defaultExtendedState, - TransitionsData stateMachineTransitions, TaskExecutor taskExecutor, TaskScheduler taskScheduler, String machineId, + List> holderList, Collection> stateDatas, + Collection> transitionsData, BeanFactory beanFactory, Boolean contextEvents, + DefaultExtendedState defaultExtendedState, TransitionsData stateMachineTransitions, String machineId, UUID uuid, StateMachineModel stateMachineModel) { State state = null; State initialState = null; @@ -861,12 +842,6 @@ public abstract class AbstractStateMachineFactory extends LifecycleObjectS if (beanFactory != null) { t.setBeanFactory(beanFactory); } - if (taskExecutor != null) { - t.setTaskExecutor(taskExecutor); - } - if (taskScheduler != null) { - t.setTaskScheduler(taskScheduler); - } trigger = t; ((AbstractState)stateMap.get(source)).getTriggers().add(trigger); } @@ -917,15 +892,15 @@ public abstract class AbstractStateMachineFactory extends LifecycleObjectS Transition initialTransition = new InitialTransition(initialState, Actions.from(initialAction)); StateMachine machine = buildStateMachineInternal(states, transitions, initialState, initialTransition, - null, defaultExtendedState, historyState, contextEvents, beanFactory, taskExecutor, taskScheduler, + null, defaultExtendedState, historyState, contextEvents, beanFactory, beanName, machineId != null ? machineId : stateMachineModel.getConfigurationData().getMachineId(), uuid, stateMachineModel); return machine; } protected abstract StateMachine buildStateMachineInternal(Collection> states, - Collection> transitions, State initialState, Transition initialTransition, Message initialEvent, - ExtendedState extendedState, PseudoState historyState, Boolean contextEventsEnabled, BeanFactory beanFactory, - TaskExecutor taskExecutor, TaskScheduler taskScheduler, String beanName, String machineId, UUID uuid, + Collection> transitions, State initialState, Transition initialTransition, + Message initialEvent, ExtendedState extendedState, PseudoState historyState, + Boolean contextEventsEnabled, BeanFactory beanFactory, String beanName, String machineId, UUID uuid, StateMachineModel stateMachineModel); protected abstract State buildStateInternal(S id, Collection deferred, diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/ObjectStateMachineFactory.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/ObjectStateMachineFactory.java index 4a8c78a5..05c2bce7 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/ObjectStateMachineFactory.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/ObjectStateMachineFactory.java @@ -21,9 +21,7 @@ import java.util.function.Function; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.BeanNameAware; -import org.springframework.core.task.TaskExecutor; import org.springframework.messaging.Message; -import org.springframework.scheduling.TaskScheduler; import org.springframework.statemachine.ExtendedState; import org.springframework.statemachine.ObjectStateMachine; import org.springframework.statemachine.StateContext; @@ -71,10 +69,11 @@ public class ObjectStateMachineFactory extends AbstractStateMachineFactory } @Override - protected StateMachine buildStateMachineInternal(Collection> states, Collection> transitions, - State initialState, Transition initialTransition, Message initialEvent, ExtendedState extendedState, - PseudoState historyState, Boolean contextEventsEnabled, BeanFactory beanFactory, TaskExecutor taskExecutor, - TaskScheduler taskScheduler, String beanName, String machineId, UUID uuid, StateMachineModel stateMachineModel) { + protected StateMachine buildStateMachineInternal(Collection> states, + Collection> transitions, State initialState, Transition initialTransition, + Message initialEvent, ExtendedState extendedState, PseudoState historyState, + Boolean contextEventsEnabled, BeanFactory beanFactory, String beanName, String machineId, UUID uuid, + StateMachineModel stateMachineModel) { ObjectStateMachine machine = new ObjectStateMachine(states, transitions, initialState, initialTransition, initialEvent, extendedState, uuid); machine.setId(machineId); @@ -86,12 +85,6 @@ public class ObjectStateMachineFactory extends AbstractStateMachineFactory if (beanFactory != null) { machine.setBeanFactory(beanFactory); } - if (taskExecutor != null) { - machine.setTaskExecutor(taskExecutor); - } - if (taskScheduler != null) { - machine.setTaskScheduler(taskScheduler); - } if (machine instanceof BeanNameAware) { ((BeanNameAware)machine).setBeanName(beanName); } @@ -109,14 +102,6 @@ public class ObjectStateMachineFactory extends AbstractStateMachineFactory if (beanFactory != null) { objectState.setBeanFactory(beanFactory); } - TaskExecutor taskExecutor = resolveTaskExecutor(stateMachineModel); - if (taskExecutor != null) { - objectState.setTaskExecutor(taskExecutor); - } - TaskScheduler taskScheduler = resolveTaskScheduler(stateMachineModel); - if (taskScheduler != null) { - objectState.setTaskScheduler(taskScheduler); - } objectState.setStateDoActionPolicy(stateMachineModel.getConfigurationData().getStateDoActionPolicy()); objectState.setStateDoActionPolicyTimeout(stateMachineModel.getConfigurationData().getStateDoActionPolicyTimeout()); return objectState; diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/StateMachineBuilder.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/StateMachineBuilder.java index 258c055b..bbd609f1 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/StateMachineBuilder.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/StateMachineBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,8 +15,6 @@ */ package org.springframework.statemachine.config; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.scheduling.concurrent.ConcurrentTaskScheduler; import org.springframework.statemachine.StateMachine; import org.springframework.statemachine.StateMachineException; import org.springframework.statemachine.config.builders.StateMachineConfigBuilder; @@ -142,16 +140,6 @@ public class StateMachineBuilder { if (stateMachineConfigurationConfig.getBeanFactory() != null) { stateMachineFactory.setBeanFactory(stateMachineConfigurationConfig.getBeanFactory()); } - if (stateMachineConfigurationConfig.getTaskExecutor() != null) { - stateMachineFactory.setTaskExecutor(stateMachineConfigurationConfig.getTaskExecutor()); - } else { - stateMachineFactory.setTaskExecutor(new SyncTaskExecutor()); - } - if (stateMachineConfigurationConfig.getTaskScheduler() != null) { - stateMachineFactory.setTaskScheduler(stateMachineConfigurationConfig.getTaskScheduler()); - } else { - stateMachineFactory.setTaskScheduler(new ConcurrentTaskScheduler()); - } return stateMachineFactory.getStateMachine(); } catch (Exception e) { throw new StateMachineException("Error building state machine", e); diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/builders/StateMachineConfigurationBuilder.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/builders/StateMachineConfigurationBuilder.java index b0117fa7..bf07831e 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/builders/StateMachineConfigurationBuilder.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/builders/StateMachineConfigurationBuilder.java @@ -19,8 +19,6 @@ import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.BeanFactory; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.TaskScheduler; import org.springframework.security.access.AccessDecisionManager; import org.springframework.statemachine.action.StateDoActionPolicy; import org.springframework.statemachine.config.common.annotation.AbstractConfiguredAnnotationBuilder; @@ -64,8 +62,6 @@ public class StateMachineConfigurationBuilder private String machineId; private BeanFactory beanFactory; - private TaskExecutor taskExecutor; - private TaskScheduler taskScheculer; private boolean autoStart = false; private TransitionConflictPolicy transitionConflictPolicy; private StateDoActionPolicy stateDoActionPolicy; @@ -150,11 +146,10 @@ public class StateMachineConfigurationBuilder interceptorsCopy.add(interceptor); } } - return new ConfigurationData(beanFactory, taskExecutor, taskScheculer, autoStart, ensemble, listeners, - securityEnabled, transitionSecurityAccessDecisionManager, eventSecurityAccessDecisionManager, - eventSecurityRule, transitionSecurityRule, verifierEnabled, verifier, machineId, stateMachineMonitor, - interceptorsCopy, transitionConflictPolicy, stateDoActionPolicy, stateDoActionPolicyTimeout, - regionExecutionPolicy); + return new ConfigurationData(beanFactory, autoStart, ensemble, listeners, securityEnabled, + transitionSecurityAccessDecisionManager, eventSecurityAccessDecisionManager, eventSecurityRule, + transitionSecurityRule, verifierEnabled, verifier, machineId, stateMachineMonitor, interceptorsCopy, + transitionConflictPolicy, stateDoActionPolicy, stateDoActionPolicyTimeout, regionExecutionPolicy); } /** @@ -175,24 +170,6 @@ public class StateMachineConfigurationBuilder this.beanFactory = beanFactory; } - /** - * Sets the task executor. - * - * @param taskExecutor the new task executor - */ - public void setTaskExecutor(TaskExecutor taskExecutor) { - this.taskExecutor = taskExecutor; - } - - /** - * Sets the task scheculer. - * - * @param taskScheculer the new task scheculer - */ - public void setTaskScheculer(TaskScheduler taskScheculer) { - this.taskScheculer = taskScheculer; - } - /** * Sets the state machine ensemble. * diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/configuration/StateMachineCommonConfiguration.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/configuration/StateMachineCommonConfiguration.java index f3c5a86a..c9c85441 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/configuration/StateMachineCommonConfiguration.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/configuration/StateMachineCommonConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,11 +17,6 @@ package org.springframework.statemachine.config.configuration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.TaskScheduler; -import org.springframework.scheduling.concurrent.ConcurrentTaskScheduler; -import org.springframework.statemachine.StateMachineSystemConstants; /** * Common configuration for statemachine. @@ -32,16 +27,6 @@ import org.springframework.statemachine.StateMachineSystemConstants; @Configuration public class StateMachineCommonConfiguration { - @Bean(name = StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME) - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } - - @Bean - public TaskScheduler taskScheduler() { - return new ConcurrentTaskScheduler(); - } - @Bean(name = StateMachineHandlerApplicationListener.BEAN_NAME) public StateMachineHandlerApplicationListener stateMachineHandlerApplicationListener() { return new StateMachineHandlerApplicationListener(); diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/configurers/ConfigurationConfigurer.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/configurers/ConfigurationConfigurer.java index 2c1d3b8e..15ac2c16 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/configurers/ConfigurationConfigurer.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/configurers/ConfigurationConfigurer.java @@ -18,8 +18,6 @@ package org.springframework.statemachine.config.configurers; import java.util.concurrent.TimeUnit; import org.springframework.beans.factory.BeanFactory; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.TaskScheduler; import org.springframework.statemachine.StateMachine; import org.springframework.statemachine.action.StateDoActionPolicy; import org.springframework.statemachine.config.builders.StateMachineConfigurationConfigurer; @@ -56,22 +54,6 @@ public interface ConfigurationConfigurer extends */ ConfigurationConfigurer beanFactory(BeanFactory beanFactory); - /** - * Specify a {@link TaskExecutor}. - * - * @param taskExecutor the task executor - * @return configurer for chaining - */ - ConfigurationConfigurer taskExecutor(TaskExecutor taskExecutor); - - /** - * Specify a {@link TaskScheduler}. - * - * @param taskScheduler the task scheduler - * @return configurer for chaining - */ - ConfigurationConfigurer taskScheduler(TaskScheduler taskScheduler); - /** * Specify if state machine should be started automatically. * On default state machine is not started automatically. diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/configurers/DefaultConfigurationConfigurer.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/configurers/DefaultConfigurationConfigurer.java index 2988c4ff..6bc510cf 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/configurers/DefaultConfigurationConfigurer.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/configurers/DefaultConfigurationConfigurer.java @@ -20,8 +20,6 @@ import java.util.List; import java.util.concurrent.TimeUnit; import org.springframework.beans.factory.BeanFactory; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.TaskScheduler; import org.springframework.statemachine.action.StateDoActionPolicy; import org.springframework.statemachine.config.builders.StateMachineConfigurationBuilder; import org.springframework.statemachine.config.builders.StateMachineConfigurationConfigurer; @@ -45,8 +43,6 @@ public class DefaultConfigurationConfigurer private String machineId; private BeanFactory beanFactory; - private TaskExecutor taskExecutor; - private TaskScheduler taskScheculer; private boolean autoStart = false; private TransitionConflictPolicy transitionConflightPolicy; private StateDoActionPolicy stateDoActionPolicy; @@ -58,8 +54,6 @@ public class DefaultConfigurationConfigurer public void configure(StateMachineConfigurationBuilder builder) throws Exception { builder.setMachineId(machineId); builder.setBeanFactory(beanFactory); - builder.setTaskExecutor(taskExecutor); - builder.setTaskScheculer(taskScheculer); builder.setAutoStart(autoStart); builder.setStateMachineListeners(listeners); builder.setTransitionConflictPolicy(transitionConflightPolicy); @@ -79,18 +73,6 @@ public class DefaultConfigurationConfigurer return this; } - @Override - public ConfigurationConfigurer taskExecutor(TaskExecutor taskExecutor) { - this.taskExecutor = taskExecutor; - return this; - } - - @Override - public ConfigurationConfigurer taskScheduler(TaskScheduler taskScheduler) { - this.taskScheculer = taskScheduler; - return this; - } - @Override public ConfigurationConfigurer autoStartup(boolean autoStart) { this.autoStart = autoStart; diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/model/ConfigurationData.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/model/ConfigurationData.java index 5e68c0a7..79431a77 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/model/ConfigurationData.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/config/model/ConfigurationData.java @@ -19,10 +19,6 @@ import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.BeanFactory; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.TaskScheduler; -import org.springframework.scheduling.concurrent.ConcurrentTaskScheduler; import org.springframework.security.access.AccessDecisionManager; import org.springframework.statemachine.action.StateDoActionPolicy; import org.springframework.statemachine.config.builders.StateMachineConfigurationBuilder; @@ -48,8 +44,6 @@ public class ConfigurationData { private final String machineId; private final BeanFactory beanFactory; - private final TaskExecutor taskExecutor; - private final TaskScheduler taskScheduler; private final boolean autoStart; private final TransitionConflictPolicy transitionConflictPolicy; private final StateDoActionPolicy stateDoActionPolicy; @@ -71,16 +65,14 @@ public class ConfigurationData { * Instantiates a new state machine configuration config data. */ public ConfigurationData() { - this(null, new SyncTaskExecutor(), new ConcurrentTaskScheduler(), false, null, new ArrayList>(), false, - null, null, null, null, true, new DefaultStateMachineModelVerifier(), null, null, null); + this(null, false, null, new ArrayList>(), false, null, null, null, null, true, + new DefaultStateMachineModelVerifier(), null, null, null); } /** * Instantiates a new state machine configuration config data. * * @param beanFactory the bean factory - * @param taskExecutor the task executor - * @param taskScheduler the task scheduler * @param autoStart the autostart flag * @param ensemble the state machine ensemble * @param listeners the state machine listeners @@ -95,24 +87,22 @@ public class ConfigurationData { * @param stateMachineMonitor the state machine monitor * @param interceptors the state machine interceptors. */ - public ConfigurationData(BeanFactory beanFactory, TaskExecutor taskExecutor, - TaskScheduler taskScheduler, boolean autoStart, StateMachineEnsemble ensemble, + public ConfigurationData(BeanFactory beanFactory, boolean autoStart, StateMachineEnsemble ensemble, List> listeners, boolean securityEnabled, - AccessDecisionManager transitionSecurityAccessDecisionManager, AccessDecisionManager eventSecurityAccessDecisionManager, - SecurityRule eventSecurityRule, SecurityRule transitionSecurityRule, boolean verifierEnabled, - StateMachineModelVerifier verifier, String machineId, StateMachineMonitor stateMachineMonitor, + AccessDecisionManager transitionSecurityAccessDecisionManager, + AccessDecisionManager eventSecurityAccessDecisionManager, SecurityRule eventSecurityRule, + SecurityRule transitionSecurityRule, boolean verifierEnabled, StateMachineModelVerifier verifier, + String machineId, StateMachineMonitor stateMachineMonitor, List> interceptors) { - this(beanFactory, taskExecutor, taskScheduler, autoStart, ensemble, listeners, securityEnabled, - transitionSecurityAccessDecisionManager, eventSecurityAccessDecisionManager, eventSecurityRule, transitionSecurityRule, - verifierEnabled, verifier, machineId, stateMachineMonitor, interceptors, null, null, null, null); + this(beanFactory, autoStart, ensemble, listeners, securityEnabled, transitionSecurityAccessDecisionManager, + eventSecurityAccessDecisionManager, eventSecurityRule, transitionSecurityRule, verifierEnabled, + verifier, machineId, stateMachineMonitor, interceptors, null, null, null, null); } /** * Instantiates a new state machine configuration config data. * * @param beanFactory the bean factory - * @param taskExecutor the task executor - * @param taskScheduler the task scheduler * @param autoStart the autostart flag * @param ensemble the state machine ensemble * @param listeners the state machine listeners @@ -131,17 +121,16 @@ public class ConfigurationData { * @param stateDoActionPolicyTimeout the state do action policy timeout * @param regionExecutionPolicy the region execution policy */ - public ConfigurationData(BeanFactory beanFactory, TaskExecutor taskExecutor, - TaskScheduler taskScheduler, boolean autoStart, StateMachineEnsemble ensemble, + public ConfigurationData(BeanFactory beanFactory, boolean autoStart, StateMachineEnsemble ensemble, List> listeners, boolean securityEnabled, - AccessDecisionManager transitionSecurityAccessDecisionManager, AccessDecisionManager eventSecurityAccessDecisionManager, - SecurityRule eventSecurityRule, SecurityRule transitionSecurityRule, boolean verifierEnabled, - StateMachineModelVerifier verifier, String machineId, StateMachineMonitor stateMachineMonitor, + AccessDecisionManager transitionSecurityAccessDecisionManager, + AccessDecisionManager eventSecurityAccessDecisionManager, SecurityRule eventSecurityRule, + SecurityRule transitionSecurityRule, boolean verifierEnabled, StateMachineModelVerifier verifier, + String machineId, StateMachineMonitor stateMachineMonitor, List> interceptors, TransitionConflictPolicy transitionConflightPolicy, - StateDoActionPolicy stateDoActionPolicy, Long stateDoActionPolicyTimeout, RegionExecutionPolicy regionExecutionPolicy) { + StateDoActionPolicy stateDoActionPolicy, Long stateDoActionPolicyTimeout, + RegionExecutionPolicy regionExecutionPolicy) { this.beanFactory = beanFactory; - this.taskExecutor = taskExecutor; - this.taskScheduler = taskScheduler; this.autoStart = autoStart; this.ensemble = ensemble; this.listeners = listeners; @@ -174,24 +163,6 @@ public class ConfigurationData { return beanFactory; } - /** - * Gets the task executor. - * - * @return the task executor - */ - public TaskExecutor getTaskExecutor() { - return taskExecutor; - } - - /** - * Gets the task scheduler. - * - * @return the task scheduler - */ - public TaskScheduler getTaskScheduler() { - return taskScheduler; - } - /** * Gets the state machine ensemble. * 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 8b94f223..b0e22d9e 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 @@ -31,7 +31,6 @@ import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.BeanFactoryAware; import org.springframework.context.Lifecycle; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.messaging.Message; import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.support.MessageBuilder; @@ -308,16 +307,6 @@ public abstract class AbstractStateMachine extends StateMachineObjectSuppo if (getBeanFactory() != null) { executor.setBeanFactory(getBeanFactory()); } - if (getTaskExecutor() != null){ - // parent machine is set when we're on substates(not regions) - // so then force sync executor which makes things a bit more reliable - // as state execution should anyway get synched with plain substates. - if(parentMachine != null) { - executor.setTaskExecutor(new SyncTaskExecutor()); - } else { - executor.setTaskExecutor(getTaskExecutor()); - } - } executor.afterPropertiesSet(); executor.setStateMachineExecutorTransit(new StateMachineExecutorTransit() { diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/LifecycleObjectSupport.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/LifecycleObjectSupport.java index b642729b..a797553d 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/LifecycleObjectSupport.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/LifecycleObjectSupport.java @@ -26,8 +26,6 @@ import org.springframework.beans.factory.BeanInitializationException; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.InitializingBean; import org.springframework.context.SmartLifecycle; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.TaskScheduler; import org.springframework.util.Assert; import reactor.core.publisher.Mono; @@ -49,10 +47,6 @@ public abstract class LifecycleObjectSupport private volatile boolean autoStartup = false; private volatile int phase = 0; - // common task handling - private TaskScheduler taskScheduler; - private TaskExecutor taskExecutor; - // to access bean factory private volatile BeanFactory beanFactory; @@ -168,56 +162,6 @@ public abstract class LifecycleObjectSupport return beanFactory; } - /** - * Sets the used {@link TaskScheduler}. - * - * @param taskScheduler the task scheduler - */ - public void setTaskScheduler(TaskScheduler taskScheduler) { - Assert.notNull(taskScheduler, "taskScheduler must not be null"); - this.taskScheduler = taskScheduler; - } - - /** - * Gets the defined {@link TaskScheduler}. - * - * @return the defined task scheduler - */ - protected TaskScheduler getTaskScheduler() { - if(taskScheduler == null && getBeanFactory() != null) { - if(log.isTraceEnabled()) { - log.trace("getting taskScheduler service from bean factory " + getBeanFactory()); - } - taskScheduler = StateMachineContextUtils.getTaskScheduler(getBeanFactory()); - } - return taskScheduler; - } - - /** - * Sets the used {@link TaskExecutor}. - * - * @param taskExecutor the task executor - */ - public void setTaskExecutor(TaskExecutor taskExecutor) { - Assert.notNull(taskExecutor, "taskExecutor must not be null"); - this.taskExecutor = taskExecutor; - } - - /** - * Gets the defined {@link TaskExecutor}. - * - * @return the defined task executor - */ - protected TaskExecutor getTaskExecutor() { - if(taskExecutor == null && getBeanFactory() != null) { - if(log.isTraceEnabled()) { - log.trace("getting taskExecutor service from bean factory " + getBeanFactory()); - } - taskExecutor = StateMachineContextUtils.getTaskExecutor(getBeanFactory()); - } - return taskExecutor; - } - /** * Subclasses may implement this for initialization logic. Called during the * {@link InitializingBean} phase. diff --git a/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineContextUtils.java b/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineContextUtils.java index 64a99b4b..986f531f 100644 --- a/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineContextUtils.java +++ b/spring-statemachine-core/src/main/java/org/springframework/statemachine/support/StateMachineContextUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,7 @@ package org.springframework.statemachine.support; import org.springframework.beans.factory.BeanFactory; import org.springframework.core.convert.ConversionService; -import org.springframework.core.task.TaskExecutor; import org.springframework.expression.spel.support.StandardEvaluationContext; -import org.springframework.scheduling.TaskScheduler; import org.springframework.statemachine.StateMachineSystemConstants; import org.springframework.statemachine.event.StateMachineEventPublisher; import org.springframework.util.Assert; @@ -32,40 +30,12 @@ import org.springframework.util.Assert; */ public class StateMachineContextUtils { - /* Default task scheduler bean name */ - public static final String TASK_SCHEDULER_BEAN_NAME = "taskScheduler"; - - /* Default task executor bean name */ - public static final String TASK_EXECUTOR_BEAN_NAME = StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME; - /* Default conversion service bean name */ public static final String CONVERSION_SERVICE_BEAN_NAME = "cloudClusterConversionService"; /* Default evaluation context bean name */ public static final String EVALUATION_CONTEXT_BEAN_NAME = "cloudClusterEvaluationContext"; - /** - * Return the {@link TaskScheduler} bean whose name is "taskScheduler" if - * available. - * - * @param beanFactory BeanFactory for lookup, must not be null. - * @return task scheduler - */ - public static TaskScheduler getTaskScheduler(BeanFactory beanFactory) { - return getBeanOfType(beanFactory, TASK_SCHEDULER_BEAN_NAME, TaskScheduler.class); - } - - /** - * Return the {@link TaskScheduler} bean whose name is "taskExecutor" if - * available. - * - * @param beanFactory BeanFactory for lookup, must not be null. - * @return task executor - */ - public static TaskExecutor getTaskExecutor(BeanFactory beanFactory) { - return getBeanOfType(beanFactory, TASK_EXECUTOR_BEAN_NAME, TaskExecutor.class); - } - /** * Return the {@link ConversionService} bean whose name is * "yarnConversionService" if available. diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/AbstractStateMachineTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/AbstractStateMachineTests.java index 110a597e..621a6f0e 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/AbstractStateMachineTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/AbstractStateMachineTests.java @@ -25,13 +25,6 @@ import org.apache.commons.logging.LogFactory; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.springframework.context.annotation.AnnotationConfigApplicationContext; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.TaskScheduler; -import org.springframework.scheduling.concurrent.ConcurrentTaskScheduler; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.statemachine.action.Action; import org.springframework.statemachine.guard.Guard; import org.springframework.statemachine.listener.StateMachineListenerAdapter; @@ -98,38 +91,6 @@ public abstract class AbstractStateMachineTests { PLAY, STOP, PAUSE, EJECT, LOAD } - @Configuration - public static class BaseConfig { - - @Bean(name = StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME) - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } - - @Bean - public TaskScheduler taskScheduler() { - return new ConcurrentTaskScheduler(); - } - - } - - @Configuration - public static class BaseConfig2 { - - @Bean(name = StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME) - public TaskExecutor taskExecutor() { - ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); - taskExecutor.setCorePoolSize(5); - return taskExecutor; - } - - @Bean - public TaskScheduler taskScheduler() { - return new ConcurrentTaskScheduler(); - } - - } - public static class TestEntryAction extends AbstractTestAction { public TestEntryAction() { diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/EnumStateMachineTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/EnumStateMachineTests.java index 07f399f0..805b70f1 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/EnumStateMachineTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/EnumStateMachineTests.java @@ -27,7 +27,6 @@ import org.apache.commons.logging.LogFactory; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.support.DefaultListableBeanFactory; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.messaging.support.MessageBuilder; import org.springframework.statemachine.action.Action; import org.springframework.statemachine.action.Actions; @@ -80,10 +79,8 @@ public class EnumStateMachineTests extends AbstractStateMachineTests { transitions.add(transitionFromS1ToS2); transitions.add(transitionFromS2ToS3); - SyncTaskExecutor taskExecutor = new SyncTaskExecutor(); BeanFactory beanFactory = new DefaultListableBeanFactory(); ObjectStateMachine machine = new ObjectStateMachine(states, transitions, stateSI); - machine.setTaskExecutor(taskExecutor); machine.setBeanFactory(beanFactory); machine.afterPropertiesSet(); machine.start(); @@ -155,10 +152,8 @@ public class EnumStateMachineTests extends AbstractStateMachineTests { transitions.add(transitionFromS2ToS3); // create machine - SyncTaskExecutor taskExecutor = new SyncTaskExecutor(); BeanFactory beanFactory = new DefaultListableBeanFactory(); ObjectStateMachine machine = new ObjectStateMachine(states, transitions, stateSI); - machine.setTaskExecutor(taskExecutor); machine.setBeanFactory(beanFactory); machine.afterPropertiesSet(); machine.start(); @@ -198,10 +193,8 @@ public class EnumStateMachineTests extends AbstractStateMachineTests { Collection> transitions = new ArrayList>(); transitions.add(transitionInternalSI); - SyncTaskExecutor taskExecutor = new SyncTaskExecutor(); BeanFactory beanFactory = new DefaultListableBeanFactory(); ObjectStateMachine machine = new ObjectStateMachine(states, transitions, stateSI); - machine.setTaskExecutor(taskExecutor); machine.setBeanFactory(beanFactory); machine.afterPropertiesSet(); machine.start(); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/EventDeferTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/EventDeferTests.java index cfd7ec33..de21a772 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/EventDeferTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/EventDeferTests.java @@ -32,10 +32,7 @@ import java.util.concurrent.atomic.AtomicReference; import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.statemachine.config.EnableStateMachine; import org.springframework.statemachine.config.StateMachineConfigurerAdapter; import org.springframework.statemachine.config.builders.StateMachineStateConfigurer; @@ -67,30 +64,6 @@ public class EventDeferTests extends AbstractStateMachineTests { assertThat(readField.size(), is(2)); } - @Test - public void testDeferWithFlatThreadExecutor() throws Exception { - context.register(Config2.class, ExecutorConfig.class); - context.refresh(); - StateMachine machine = resolveMachine(context); - TestListener listener = new TestListener(); - machine.addStateListener(listener); - doStartAndAssert(machine); - assertThat(listener.stateMachineStartedLatch.await(3, TimeUnit.SECONDS), is(true)); - assertThat(listener.stateChangedLatch.await(3, TimeUnit.SECONDS), is(true)); - - listener.reset(1, 0, 0, 0); - doSendEventAndConsumeAll(machine, "E3"); - assertThat(listener.stateChangedLatch.await(3, TimeUnit.SECONDS), is(true)); - - doSendEventAndConsumeAll(machine, "E1"); - doSendEventAndConsumeAll(machine, "E1"); - Object executor = TestUtils.readField("stateMachineExecutor", machine); - Collection readField = TestUtils.readField("deferList", executor); - assertThat(readField.size(), is(2)); - doSendEventAndConsumeAll(machine, "E2"); - assertThat(readField.size(), is(3)); - } - @Test public void testDeferSmokeExecutorConcurrentModification() throws Exception { context.register(Config5.class); @@ -169,71 +142,6 @@ public class EventDeferTests extends AbstractStateMachineTests { assertThat(machine.getState().getIds(), contains("READY")); } - @Test - public void testDeferWithSubsThreadExecutor() throws Exception { - context.register(Config1.class, ExecutorConfig2.class); - context.refresh(); - StateMachine machine = resolveMachine(context); - TestListener listener = new TestListener(); - machine.addStateListener(listener); - doStartAndAssert(machine); - - assertThat(listener.stateMachineStartedLatch.await(3, TimeUnit.SECONDS), is(true)); - assertThat(listener.stateChangedLatch.await(3, TimeUnit.SECONDS), is(true)); - - listener.reset(0, 0, 0, 1); - doSendEventAndConsumeAll(machine, "E3"); - assertThat(listener.sub3readyStateEnteredLatch.await(3, TimeUnit.SECONDS), is(true)); - assertThat(listener.sub3readyStateEnteredCount, is(1)); - - listener.reset(0, 0, 2, 0); - doSendEventAndConsumeAll(machine, "E1"); - doSendEventAndConsumeAll(machine, "E1"); - - Object executor = TestUtils.readField("stateMachineExecutor", machine); - Collection readField = TestUtils.readField("deferList", executor); - assertThat(readField.size(), is(2)); - - listener.reset(0, 0, 3, 0); - doSendEventAndConsumeAll(machine, "E4"); - assertThat(listener.readyStateEnteredLatch.await(3, TimeUnit.SECONDS), is(true)); - assertThat(listener.readyStateEnteredCount, is(3)); - - assertThat(machine.getState().getIds(), contains("READY")); - } - - @Test - public void testDeferWithSubs2ThreadExecutor() throws Exception { - context.register(Config1.class, ExecutorConfig.class); - context.refresh(); - StateMachine machine = resolveMachine(context); - TestListener listener = new TestListener(); - machine.addStateListener(listener); - doStartAndAssert(machine); - - assertThat(listener.stateMachineStartedLatch.await(3, TimeUnit.SECONDS), is(true)); - assertThat(listener.stateChangedLatch.await(3, TimeUnit.SECONDS), is(true)); - - listener.reset(0, 0, 2, 0); - doSendEventAndConsumeAll(machine, "E2"); - doSendEventAndConsumeAll(machine, "E2"); - - assertThat(listener.readyStateEnteredLatch.await(3, TimeUnit.SECONDS), is(true)); - assertThat(listener.readyStateEnteredCount, is(2)); - - assertThat(machine.getState().getIds(), contains("READY")); - } - - @Test - public void testDeferWithSubs2ThreadExecutorSmoke() throws Exception { - // smoke above test to see threading issues - for (int i = 0; i < 500; i++) { - setup(); - testDeferWithSubs2ThreadExecutor(); - clean(); - } - } - @Test public void testSubNotDeferOverrideSuperTransition() throws Exception { context.register(Config3.class); @@ -636,32 +544,6 @@ public class EventDeferTests extends AbstractStateMachineTests { } } - @Configuration - static class ExecutorConfig { - - @Bean(name=StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME) - public TaskExecutor taskExecutor() { - ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); - taskExecutor.setCorePoolSize(1); - taskExecutor.setMaxPoolSize(1); - return taskExecutor; - } - - } - - @Configuration - static class ExecutorConfig2 { - - @Bean(name=StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME) - public TaskExecutor taskExecutor() { - ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); - taskExecutor.setCorePoolSize(1); - taskExecutor.setMaxPoolSize(4); - return taskExecutor; - } - - } - static class TestListener extends StateMachineListenerAdapter { volatile CountDownLatch stateChangedLatch = new CountDownLatch(1); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/EventHeaderTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/EventHeaderTests.java index 2b90eb9d..32d9236c 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/EventHeaderTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/EventHeaderTests.java @@ -29,9 +29,7 @@ import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.TaskExecutor; import org.springframework.messaging.support.MessageBuilder; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.statemachine.action.Action; import org.springframework.statemachine.config.EnableStateMachine; import org.springframework.statemachine.config.StateMachineConfigurerAdapter; @@ -505,13 +503,6 @@ public class EventHeaderTests extends AbstractStateMachineTests { public HeaderTestAction headerTestAction112() { return new HeaderTestAction(); } - - @Bean(name = StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME) - public TaskExecutor taskExecutor() { - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setCorePoolSize(1); - return executor; - } } @Configuration @@ -606,13 +597,6 @@ public class EventHeaderTests extends AbstractStateMachineTests { public HeaderTestAction headerTestAction3() { return new HeaderTestAction(); } - - @Bean(name = StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME) - public TaskExecutor taskExecutor() { - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setCorePoolSize(3); - return executor; - } } private static class HeaderTestAction implements Action { diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/ReactiveTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/ReactiveTests.java index 10951c48..3802e1a8 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/ReactiveTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/ReactiveTests.java @@ -140,7 +140,7 @@ public class ReactiveTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testJoin() throws Exception { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/RegionMachineTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/RegionMachineTests.java index 749bf0dc..fac0c2ce 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/RegionMachineTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/RegionMachineTests.java @@ -35,7 +35,6 @@ import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.statemachine.action.Actions; import org.springframework.statemachine.config.EnableStateMachine; import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter; @@ -108,11 +107,9 @@ public class RegionMachineTests extends AbstractStateMachineTests { transitions.add(transitionFromS1ToS2); transitions.add(transitionFromS2ToS3); - SyncTaskExecutor taskExecutor = new SyncTaskExecutor(); BeanFactory beanFactory = new DefaultListableBeanFactory(); Transition initialTransition = new InitialTransition(stateSI); ObjectStateMachine machine = new ObjectStateMachine(states, transitions, stateSI, initialTransition, null, null, null); - machine.setTaskExecutor(taskExecutor); machine.setBeanFactory(beanFactory); machine.afterPropertiesSet(); machine.start(); @@ -139,7 +136,6 @@ public class RegionMachineTests extends AbstractStateMachineTests { @Test public void testMultiRegionBuildRaw() throws Exception { - SyncTaskExecutor taskExecutor = new SyncTaskExecutor(); BeanFactory beanFactory = new DefaultListableBeanFactory(); PseudoState pseudoState = new DefaultPseudoState(PseudoStateKind.INITIAL); State stateSI = new EnumState(TestStates.SI, pseudoState); @@ -178,7 +174,6 @@ public class RegionMachineTests extends AbstractStateMachineTests { transitions11.add(transitionFromS111ToS112); Transition initialTransition11 = new InitialTransition(stateS111); ObjectStateMachine machine11 = new ObjectStateMachine(states11, transitions11, stateS111, initialTransition11, null, null, null); - machine11.setTaskExecutor(taskExecutor); machine11.setBeanFactory(beanFactory); machine11.afterPropertiesSet(); @@ -191,7 +186,6 @@ public class RegionMachineTests extends AbstractStateMachineTests { transitions12.add(transitionFromSIToS121); Transition initialTransition12 = new InitialTransition(stateS121); ObjectStateMachine machine12 = new ObjectStateMachine(states12, transitions12, stateS121, initialTransition12, null, null, null); - machine12.setTaskExecutor(taskExecutor); machine12.setBeanFactory(beanFactory); machine12.afterPropertiesSet(); @@ -209,7 +203,6 @@ public class RegionMachineTests extends AbstractStateMachineTests { Transition initialTransition = new InitialTransition(stateR); ObjectStateMachine machine = new ObjectStateMachine(states, transitions, stateR, initialTransition, null, null, null); - machine.setTaskExecutor(taskExecutor); machine.setBeanFactory(beanFactory); machine.afterPropertiesSet(); machine.start(); @@ -291,7 +284,7 @@ public class RegionMachineTests extends AbstractStateMachineTests { @Test public void testParallelRegionExecution() throws Exception { - context.register(Config3.class, BaseConfig2.class); + context.register(Config3.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -331,7 +324,7 @@ public class RegionMachineTests extends AbstractStateMachineTests { @Test public void testParallelRegionExecutionInInitialState() throws Exception { - context.register(Config4.class, BaseConfig2.class); + context.register(Config4.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/StateMachineFactoryTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/StateMachineFactoryTests.java index a88d3922..9fc6f88e 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/StateMachineFactoryTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/StateMachineFactoryTests.java @@ -29,11 +29,7 @@ import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.Test; import org.springframework.context.SmartLifecycle; import org.springframework.context.annotation.AnnotationConfigApplicationContext; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SimpleAsyncTaskExecutor; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; import org.springframework.statemachine.config.EnableStateMachineFactory; import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter; import org.springframework.statemachine.config.StateMachineFactory; @@ -155,12 +151,6 @@ public class StateMachineFactoryTests extends AbstractStateMachineTests { .target(TestStates.S2) .event(TestEvents.E1); } - - @Bean - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } - } @Configuration @@ -279,8 +269,7 @@ public class StateMachineFactoryTests extends AbstractStateMachineTests { public void configure(StateMachineConfigurationConfigurer config) throws Exception { config .withConfiguration() - .autoStartup(true) - .taskExecutor(new SimpleAsyncTaskExecutor()); + .autoStartup(true); } @Override diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/StateMachineTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/StateMachineTests.java index 60bacd8c..ea1bfc1c 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/StateMachineTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/StateMachineTests.java @@ -37,8 +37,6 @@ import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; import org.springframework.messaging.support.MessageBuilder; import org.springframework.statemachine.action.Action; import org.springframework.statemachine.config.EnableStateMachine; @@ -72,7 +70,7 @@ public class StateMachineTests extends AbstractStateMachineTests { @Test public void testTimerTransition() throws Exception { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); TestAction testAction1 = context.getBean("testAction1", TestAction.class); @@ -120,7 +118,7 @@ public class StateMachineTests extends AbstractStateMachineTests { @Test public void testForkJoin() throws Exception { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); StateMachine machine = resolveMachine(context); TestListener listener = new TestListener(); @@ -174,7 +172,7 @@ public class StateMachineTests extends AbstractStateMachineTests { @Test public void testBackToItself() { - context.register(BaseConfig.class, Config5.class); + context.register(Config5.class); context.refresh(); StateMachine machine = resolveMachine(context); assertThat(machine, notNullValue()); @@ -254,12 +252,6 @@ public class StateMachineTests extends AbstractStateMachineTests { public LoggingAction loggingAction() { return new LoggingAction("as bean"); } - - @Bean - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } - } @Configuration diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/SubStateMachineTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/SubStateMachineTests.java index 68136b14..f6115e5e 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/SubStateMachineTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/SubStateMachineTests.java @@ -33,7 +33,6 @@ import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.statemachine.action.Action; import org.springframework.statemachine.action.Actions; import org.springframework.statemachine.config.EnableStateMachine; @@ -134,15 +133,11 @@ public class SubStateMachineTests extends AbstractStateMachineTests { ObjectStateMachine machine = new ObjectStateMachine(states, transitions, stateS1); - SyncTaskExecutor taskExecutor = new SyncTaskExecutor(); BeanFactory beanFactory = new DefaultListableBeanFactory(); - machine.setTaskExecutor(taskExecutor); machine.setBeanFactory(beanFactory); machine.afterPropertiesSet(); - submachine1.setTaskExecutor(taskExecutor); submachine1.setBeanFactory(beanFactory); submachine1.afterPropertiesSet(); - submachine11.setTaskExecutor(taskExecutor); submachine11.setBeanFactory(beanFactory); submachine11.afterPropertiesSet(); machine.start(); @@ -231,12 +226,9 @@ public class SubStateMachineTests extends AbstractStateMachineTests { ObjectStateMachine machine = new ObjectStateMachine(states, transitions, stateS1); - SyncTaskExecutor taskExecutor = new SyncTaskExecutor(); BeanFactory beanFactory = new DefaultListableBeanFactory(); - machine.setTaskExecutor(taskExecutor); machine.setBeanFactory(beanFactory); machine.afterPropertiesSet(); - submachine11.setTaskExecutor(taskExecutor); submachine11.setBeanFactory(beanFactory); submachine11.afterPropertiesSet(); machine.start(); @@ -332,15 +324,11 @@ public class SubStateMachineTests extends AbstractStateMachineTests { ObjectStateMachine machine = new ObjectStateMachine(states, transitions, stateS1); - SyncTaskExecutor taskExecutor = new SyncTaskExecutor(); BeanFactory beanFactory = new DefaultListableBeanFactory(); - machine.setTaskExecutor(taskExecutor); machine.setBeanFactory(beanFactory); machine.afterPropertiesSet(); - submachine1.setTaskExecutor(taskExecutor); submachine1.setBeanFactory(beanFactory); submachine1.afterPropertiesSet(); - submachine11.setTaskExecutor(taskExecutor); submachine11.setBeanFactory(beanFactory); submachine11.afterPropertiesSet(); machine.start(); @@ -364,7 +352,7 @@ public class SubStateMachineTests extends AbstractStateMachineTests { @Test public void testExternalTransition3() throws Exception { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -400,7 +388,7 @@ public class SubStateMachineTests extends AbstractStateMachineTests { @Test public void testMixedStates() throws Exception { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -414,7 +402,7 @@ public class SubStateMachineTests extends AbstractStateMachineTests { @Test public void testStateChangeWithinMachine() { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/action/ActionAndTimerTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/action/ActionAndTimerTests.java index fe6a2282..270d0ab7 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/action/ActionAndTimerTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/action/ActionAndTimerTests.java @@ -30,8 +30,6 @@ import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.TaskScheduler; -import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateMachine; @@ -73,35 +71,6 @@ public class ActionAndTimerTests extends AbstractStateMachineTests { assertThat(testExitAction.e, nullValue()); } - @Test - public void testExitActionWithTimerOnceThreadPoolTaskScheduler() throws Exception { - context.register(Config2.class); - context.refresh(); - StateMachine machine = resolveMachine(context); - TestTimerAction testTimerAction = context.getBean(TestTimerAction.class); - TestExitAction testExitAction = context.getBean(TestExitAction.class); - TestListener testListener = new TestListener(); - machine.addStateListener(testListener); - doStartAndAssert(machine); - assertThat(machine.getState().getIds(), containsInAnyOrder(TestStates.S1)); - doSendEventAndConsumeAll(machine, TestEvents.E1); - assertThat(machine.getState().getIds(), containsInAnyOrder(TestStates.S2)); - - assertThat(testTimerAction.latch.await(4, TimeUnit.SECONDS), is(true)); - assertThat(testTimerAction.e, nullValue()); - - // need to sleep for TimerTrigger not causing - // next event to get handled with threads, thus - // causing interrupt - Thread.sleep(1000); - - doSendEventAndConsumeAll(machine, TestEvents.E2); - assertThat(testListener.s3EnteredLatch.await(2, TimeUnit.SECONDS), is(true)); - assertThat(machine.getState().getIds(), containsInAnyOrder(TestStates.S3)); - assertThat(testExitAction.latch.await(2, TimeUnit.SECONDS), is(true)); - assertThat(testExitAction.e, nullValue()); - } - @Configuration @EnableStateMachine static class Config1 extends EnumStateMachineConfigurerAdapter { @@ -177,12 +146,6 @@ public class ActionAndTimerTests extends AbstractStateMachineTests { .timerOnce(1000); } - @Bean - public TaskScheduler taskScheduler() { - ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); - return taskScheduler; - } - @Bean public TestExitAction testExitAction() { return new TestExitAction(); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/action/ActionTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/action/ActionTests.java index 6a644a8f..43e366c5 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/action/ActionTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/action/ActionTests.java @@ -30,8 +30,6 @@ import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateMachine; @@ -208,11 +206,6 @@ public class ActionTests extends AbstractStateMachineTests { public TestCountAction testAction3() { return new TestCountAction(); } - - @Bean - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } } @Configuration @@ -253,12 +246,6 @@ public class ActionTests extends AbstractStateMachineTests { public TestCountAction testErrorAction() { return new TestCountAction(); } - - @Bean - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } - } @Configuration diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/annotation/ClassAnnotationTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/annotation/ClassAnnotationTests.java index aa77d072..a9a97fb2 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/annotation/ClassAnnotationTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/annotation/ClassAnnotationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -43,7 +43,7 @@ public class ClassAnnotationTests extends AbstractStateMachineTests { @SuppressWarnings("unchecked") public void testClassAnnotations() throws Exception { AnnotationConfigApplicationContext context = - new AnnotationConfigApplicationContext(BaseConfig.class, BeanConfig1.class, FooConfig.class, BarConfig.class); + new AnnotationConfigApplicationContext(BeanConfig1.class, FooConfig.class, BarConfig.class); ObjectStateMachine fooMachine = context.getBean("fooMachine", ObjectStateMachine.class); @@ -82,7 +82,7 @@ public class ClassAnnotationTests extends AbstractStateMachineTests { @SuppressWarnings("unchecked") public void testClassAnnotationsWithMeta() throws Exception { AnnotationConfigApplicationContext context = - new AnnotationConfigApplicationContext(BaseConfig.class, BeanConfig2.class, JeeConfig.class, FooConfig.class); + new AnnotationConfigApplicationContext(BeanConfig2.class, JeeConfig.class, FooConfig.class); ObjectStateMachine jeeMachine = context.getBean("jeeMachine", ObjectStateMachine.class); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/annotation/MethodAnnotationTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/annotation/MethodAnnotationTests.java index b397928f..949c3c0a 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/annotation/MethodAnnotationTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/annotation/MethodAnnotationTests.java @@ -55,7 +55,7 @@ public class MethodAnnotationTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testOnTransition() throws Exception { - context.register(BaseConfig.class, BeanConfig1.class, Config1.class); + context.register(BeanConfig1.class, Config1.class); context.refresh(); ObjectStateMachine machine = @@ -84,7 +84,7 @@ public class MethodAnnotationTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testOnStateChanged() throws Exception { - context.register(BaseConfig.class, BeanConfig1.class, Config1.class); + context.register(BeanConfig1.class, Config1.class); context.refresh(); ObjectStateMachine machine = @@ -113,7 +113,7 @@ public class MethodAnnotationTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testOnStateMachineStartStop() throws Exception { - context.register(BaseConfig.class, BeanConfig1.class, Config1.class); + context.register(BeanConfig1.class, Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -139,7 +139,7 @@ public class MethodAnnotationTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testOnExtendedStateChanged() throws Exception { - context.register(BaseConfig.class, BeanConfig5.class, Config1.class); + context.register(BeanConfig5.class, Config1.class); context.refresh(); ObjectStateMachine machine = @@ -166,7 +166,7 @@ public class MethodAnnotationTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testMethodAnnotations2() throws Exception { - context.register(BaseConfig.class, BeanConfig2.class, Config1.class); + context.register(BeanConfig2.class, Config1.class); context.refresh(); ObjectStateMachine machine = @@ -203,7 +203,7 @@ public class MethodAnnotationTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testMethodAnnotations3() throws Exception { - context.register(BaseConfig.class, BeanConfig3.class, Config1.class); + context.register(BeanConfig3.class, Config1.class); context.refresh(); ObjectStateMachine machine = @@ -222,7 +222,7 @@ public class MethodAnnotationTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testMethodAnnotations4() throws Exception { - context.register(BaseConfig.class, BeanConfig4.class, Config1.class); + context.register(BeanConfig4.class, Config1.class); context.refresh(); ObjectStateMachine machine = @@ -249,7 +249,7 @@ public class MethodAnnotationTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testMethodAnnotations5() throws Exception { - context.register(BaseConfig.class, BeanConfig6.class, Config1.class); + context.register(BeanConfig6.class, Config1.class); context.refresh(); ObjectStateMachine machine = @@ -270,7 +270,7 @@ public class MethodAnnotationTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testMethodAnnotations6() throws Exception { - context.register(BaseConfig.class, BeanConfig7.class, Config1.class); + context.register(BeanConfig7.class, Config1.class); context.refresh(); ObjectStateMachine machine = @@ -290,7 +290,7 @@ public class MethodAnnotationTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testMethodAnnotations7() throws Exception { - context.register(BaseConfig.class, BeanConfig8.class, Config1.class); + context.register(BeanConfig8.class, Config1.class); context.refresh(); ObjectStateMachine machine = @@ -307,7 +307,7 @@ public class MethodAnnotationTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testMethodAnnotations8() throws Exception { - context.register(BaseConfig.class, BeanConfig9.class, Config2.class); + context.register(BeanConfig9.class, Config2.class); context.refresh(); ObjectStateMachine machine = @@ -328,7 +328,7 @@ public class MethodAnnotationTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testMethodAnnotations9() throws Exception { - context.register(BaseConfig.class, BeanConfig10.class, Config3.class); + context.register(BeanConfig10.class, Config3.class); context.refresh(); ObjectStateMachine machine = diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ConfigurationTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ConfigurationTests.java index 863203b4..df0dee8c 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ConfigurationTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2017 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,7 +16,6 @@ package org.springframework.statemachine.config; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.sameInstance; @@ -38,9 +37,6 @@ import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.ObjectStateMachine; import org.springframework.statemachine.StateMachine; @@ -176,66 +172,6 @@ public class ConfigurationTests extends AbstractStateMachineTests { }); } - @Test - public void testTaskExecutor1() throws Exception { - // set in builder, no bf or taskExecutor bean registered - context.register(Config14.class); - context.refresh(); - @SuppressWarnings("unchecked") - StateMachine stateMachine = context.getBean(StateMachine.class); - - Object executorFromMachine = TestUtils.readField("taskExecutor", stateMachine); - Object stateMachineExecutor = TestUtils.readField("stateMachineExecutor", stateMachine); - Object executorFromExecutor = TestUtils.readField("taskExecutor", stateMachineExecutor); - - assertThat(executorFromMachine, sameInstance(Config14.taskExecutor)); - assertThat(executorFromExecutor, sameInstance(Config14.taskExecutor)); - - assertThat(executorFromMachine, notNullValue()); - assertThat(executorFromExecutor, notNullValue()); - assertThat(executorFromMachine, sameInstance(executorFromExecutor)); - } - - @Test - public void testTaskExecutor2() throws Exception { - // set as bean, should get from bf - context.register(BaseConfig.class, Config15.class); - context.refresh(); - @SuppressWarnings("unchecked") - StateMachine stateMachine = context.getBean(StateMachine.class); - assertThat(context.containsBean(StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME), is(true)); - - Object stateMachineExecutor = TestUtils.readField("stateMachineExecutor", stateMachine); - - Object executorFromMachine = TestUtils.callMethod("getTaskExecutor", stateMachine); - Object executorFromExecutor = TestUtils.callMethod("getTaskExecutor", stateMachineExecutor); - - assertThat(executorFromMachine, notNullValue()); - assertThat(executorFromExecutor, notNullValue()); - assertThat(executorFromMachine, sameInstance(executorFromExecutor)); - } - - @Test - public void testTaskExecutor3() throws Exception { - // override task execution via configurer - context.register(Config19.class); - context.refresh(); - @SuppressWarnings("unchecked") - StateMachine stateMachine = context.getBean(StateMachine.class); - assertThat(context.containsBean(StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME), is(true)); - - Object stateMachineExecutor = TestUtils.readField("stateMachineExecutor", stateMachine); - - Object executorFromMachine = TestUtils.callMethod("getTaskExecutor", stateMachine); - Object executorFromExecutor = TestUtils.callMethod("getTaskExecutor", stateMachineExecutor); - - assertThat(executorFromMachine, notNullValue()); - assertThat(executorFromExecutor, notNullValue()); - assertThat(executorFromMachine, sameInstance(executorFromExecutor)); - - assertThat(executorFromMachine, instanceOf(ThreadPoolTaskExecutor.class)); - } - @Test public void testBeanFactory1() throws Exception { // should come from context @@ -318,7 +254,7 @@ public class ConfigurationTests extends AbstractStateMachineTests { } } } - + @Test public void testMachinesWithDependenciesAndConstructorInjection() { context.register(Config21.class); @@ -329,8 +265,8 @@ public class ConfigurationTests extends AbstractStateMachineTests { StateMachine stateMachine22 = stateMachineFactory22.getStateMachine(); assertThat(stateMachine22, notNullValue()); } - - + + @Configuration @EnableStateMachine @@ -367,12 +303,6 @@ public class ConfigurationTests extends AbstractStateMachineTests { public TestGuard testGuard() { return new TestGuard(); } - - @Bean - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } - } @Configuration @@ -745,16 +675,12 @@ public class ConfigurationTests extends AbstractStateMachineTests { @Configuration public static class Config14 { - - public static TaskExecutor taskExecutor = new SyncTaskExecutor(); - @Bean StateMachine stateMachine() throws Exception { Builder builder = StateMachineBuilder.builder(); builder.configureConfiguration() .withConfiguration() - .autoStartup(false) - .taskExecutor(taskExecutor); + .autoStartup(false); builder.configureStates() .withStates() .initial("S1").state("S2"); @@ -887,7 +813,6 @@ public class ConfigurationTests extends AbstractStateMachineTests { public void configure(StateMachineConfigurationConfigurer config) throws Exception { config .withConfiguration() - .taskExecutor(taskExecutor()) .autoStartup(true); } @@ -907,11 +832,6 @@ public class ConfigurationTests extends AbstractStateMachineTests { .target("S2") .event("E1"); } - - @Bean(name = "fakeBeanName") - public TaskExecutor taskExecutor() { - return new ThreadPoolTaskExecutor(); - } } @Configuration @@ -936,7 +856,7 @@ public class ConfigurationTests extends AbstractStateMachineTests { .event("E1"); } } - + @Configuration @EnableStateMachineFactory(name="stateMachineConfig21") public static class Config21 extends StateMachineConfigurerAdapter { diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ContextTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ContextTests.java deleted file mode 100644 index 6cbd1845..00000000 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ContextTests.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright 2015 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.springframework.statemachine.config; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.instanceOf; - -import org.junit.jupiter.api.Test; -import org.springframework.context.annotation.AnnotationConfigApplicationContext; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import org.springframework.statemachine.AbstractStateMachineTests; -import org.springframework.statemachine.ObjectStateMachine; -import org.springframework.statemachine.StateMachineSystemConstants; -import org.springframework.statemachine.TestUtils; -import org.springframework.statemachine.config.builders.StateMachineConfigurationConfigurer; -import org.springframework.statemachine.config.builders.StateMachineStateConfigurer; -import org.springframework.statemachine.config.builders.StateMachineTransitionConfigurer; - -public class ContextTests extends AbstractStateMachineTests { - - @Override - protected AnnotationConfigApplicationContext buildContext() { - return new AnnotationConfigApplicationContext(); - } - - @SuppressWarnings("unchecked") - @Test - public void testTaskExecutor() throws Exception { - context.register(Config2.class); - context.refresh(); - ObjectStateMachine machine = - context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); - assertThat(TestUtils.readField("taskExecutor", machine), instanceOf(SyncTaskExecutor.class)); - } - - @SuppressWarnings("unchecked") - @Test - public void testTaskExecutorWithScheduling() throws Exception { - context.register(Config1.class, Config2.class); - context.refresh(); - ObjectStateMachine machine = - context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); - assertThat(TestUtils.readField("taskExecutor", machine), instanceOf(SyncTaskExecutor.class)); - } - - @SuppressWarnings("unchecked") - @Test - public void testTaskExecutorOverrideFromBean() throws Exception { - context.register(Config2.class, Config3.class); - context.refresh(); - ObjectStateMachine machine = - context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); - assertThat(TestUtils.readField("taskExecutor", machine), instanceOf(ThreadPoolTaskExecutor.class)); - } - - @SuppressWarnings("unchecked") - @Test - public void testTaskExecutorOverrideFromConfig() throws Exception { - context.register(Config4.class); - context.refresh(); - ObjectStateMachine machine = - context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); - assertThat(TestUtils.readField("taskExecutor", machine), instanceOf(ThreadPoolTaskExecutor.class)); - } - - @Configuration - @EnableScheduling - static class Config1 { - - @Scheduled(fixedRate=500) - public void scheduledMethod() { - } - - } - - @Configuration - @EnableStateMachine - static class Config2 extends StateMachineConfigurerAdapter { - - @Override - public void configure(StateMachineStateConfigurer states) throws Exception { - states - .withStates() - .initial("SI") - .state("S1") - .state("S2"); - } - - @Override - public void configure(StateMachineTransitionConfigurer transitions) throws Exception { - transitions - .withExternal() - .source("SI") - .target("S1") - .event("E1"); - } - - } - - @Configuration - static class Config3 { - - @Bean(name = StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME) - public TaskExecutor myTaskExecutor() { - return new ThreadPoolTaskExecutor(); - } - - } - - @Configuration - @EnableStateMachine - static class Config4 extends StateMachineConfigurerAdapter { - - @Override - public void configure(StateMachineConfigurationConfigurer config) throws Exception { - config - .withConfiguration() - .taskExecutor(new ThreadPoolTaskExecutor()); - } - - @Override - public void configure(StateMachineStateConfigurer states) throws Exception { - states - .withStates() - .initial("SI") - .state("S1") - .state("S2"); - } - - @Override - public void configure(StateMachineTransitionConfigurer transitions) throws Exception { - transitions - .withExternal() - .source("SI") - .target("S1") - .event("E1"); - } - - } - -} diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ManualBuilderContextTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ManualBuilderContextTests.java index 27022ca9..1aebc094 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ManualBuilderContextTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ManualBuilderContextTests.java @@ -29,7 +29,6 @@ import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.StateMachine; import org.springframework.statemachine.config.StateMachineBuilder.Builder; @@ -83,8 +82,7 @@ public class ManualBuilderContextTests extends AbstractStateMachineTests { builder.configureConfiguration() .withConfiguration() .autoStartup(true) - .listener(testListener()) - .taskExecutor(new SyncTaskExecutor()); + .listener(testListener()); builder.configureStates() .withStates() .initial("S1").state("S2"); @@ -114,8 +112,7 @@ public class ManualBuilderContextTests extends AbstractStateMachineTests { builder.configureConfiguration() .withConfiguration() .autoStartup(false) - .listener(testListener()) - .taskExecutor(new SyncTaskExecutor()); + .listener(testListener()); builder.configureStates() .withStates() .initial("S1").state("S2"); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ManualBuilderTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ManualBuilderTests.java index f434de5f..9a6d487d 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ManualBuilderTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/ManualBuilderTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2016 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,11 +28,7 @@ import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.support.StaticListableBeanFactory; import org.springframework.context.SmartLifecycle; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.scheduling.concurrent.ConcurrentTaskScheduler; import org.springframework.statemachine.StateMachine; -import org.springframework.statemachine.StateMachineSystemConstants; -import org.springframework.statemachine.TestUtils; import org.springframework.statemachine.config.StateMachineBuilder.Builder; import org.springframework.statemachine.config.builders.StateMachineConfigBuilder; import org.springframework.statemachine.config.builders.StateMachineStateConfigurer; @@ -60,8 +56,6 @@ public class ManualBuilderTests { new DefaultStateMachineModel(stateMachineConfigurationConfig, stateMachineStates, stateMachineTransitions)); StaticListableBeanFactory beanFactory = new StaticListableBeanFactory(); - beanFactory.addBean(StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME, new SyncTaskExecutor()); - beanFactory.addBean("taskScheduler", new ConcurrentTaskScheduler()); stateMachineFactory.setBeanFactory(beanFactory); TestListener listener = new TestListener(); @@ -80,8 +74,6 @@ public class ManualBuilderTests { Builder builder = StateMachineBuilder.builder(); StaticListableBeanFactory beanFactory = new StaticListableBeanFactory(); - beanFactory.addBean(StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME, new SyncTaskExecutor()); - beanFactory.addBean("taskScheduler", new ConcurrentTaskScheduler()); builder.configureConfiguration() .withConfiguration() @@ -115,8 +107,6 @@ public class ManualBuilderTests { Builder builder = StateMachineBuilder.builder(); StaticListableBeanFactory beanFactory = new StaticListableBeanFactory(); - beanFactory.addBean(StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME, new SyncTaskExecutor()); - beanFactory.addBean("taskScheduler", new ConcurrentTaskScheduler()); builder.configureConfiguration() .withConfiguration() @@ -152,76 +142,13 @@ public class ManualBuilderTests { assertThat(stateMachine.getState().getIds(), containsInAnyOrder(MyStates.S2)); } - @Test - public void testManualBuildExplicitTaskExecutorAndScheduler() throws Exception { - Builder builder = StateMachineBuilder.builder(); - - builder.configureConfiguration() - .withConfiguration() - .taskExecutor(new SyncTaskExecutor()) - .taskScheduler(new ConcurrentTaskScheduler()); - - builder.configureStates() - .withStates() - .initial("S1").state("S2"); - - builder.configureTransitions() - .withExternal() - .source("S1").target("S2").event("E1") - .and() - .withExternal() - .source("S2").target("S1").event("E2"); - - StateMachine stateMachine = builder.build(); - assertThat(stateMachine, notNullValue()); - TestListener listener = new TestListener(); - stateMachine.addStateListener(listener); - doStartAndAssert(stateMachine); - - assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true)); - assertThat(listener.stateChangedCount, is(1)); - assertThat(stateMachine, notNullValue()); - assertThat(stateMachine.getState().getIds(), containsInAnyOrder("S1")); - - listener.reset(1); - doSendEventAndConsumeAll(stateMachine, "E1"); - assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true)); - assertThat(listener.stateChangedCount, is(1)); - assertThat(stateMachine, notNullValue()); - assertThat(stateMachine.getState().getIds(), containsInAnyOrder("S2")); - } - - @Test - public void testManualBuildDefaultTaskExecutor() throws Exception { - Builder builder = StateMachineBuilder.builder(); - - builder.configureStates() - .withStates() - .initial("S1").state("S2"); - - builder.configureTransitions() - .withExternal() - .source("S1").target("S2").event("E1") - .and() - .withExternal() - .source("S2").target("S1").event("E2"); - - StateMachine stateMachine = builder.build(); - assertThat(stateMachine, notNullValue()); - - assertThat(TestUtils.readField("taskExecutor", stateMachine), notNullValue()); - assertThat(TestUtils.readField("taskScheduler", stateMachine), notNullValue()); - } - @Test public void testAutoStartFlagOn() throws Exception { Builder builder = StateMachineBuilder.builder(); builder.configureConfiguration() .withConfiguration() - .autoStartup(true) - .taskExecutor(new SyncTaskExecutor()) - .taskScheduler(new ConcurrentTaskScheduler()); + .autoStartup(true); builder.configureStates() .withStates() @@ -279,12 +206,6 @@ public class ManualBuilderTests { stateChangedCount++; stateChangedLatch.countDown(); } - - public void reset(int a1) { - stateChangedCount = 0; - stateChangedLatch = new CountDownLatch(a1); - } - } private static class TestListener2 extends StateMachineListenerAdapter { diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/SessionScopedManualTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/SessionScopedManualTests.java index 183189bd..7076447a 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/SessionScopedManualTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/SessionScopedManualTests.java @@ -31,7 +31,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.ScopedProxyMode; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.http.HttpEntity; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -137,8 +136,7 @@ public class SessionScopedManualTests { Builder builder = StateMachineBuilder.builder(); builder.configureConfiguration() .withConfiguration() - .autoStartup(true) - .taskExecutor(new SyncTaskExecutor()); + .autoStartup(true); builder.configureStates() .withStates() .initial("S1").state("S2"); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/model/StateMachineModelTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/model/StateMachineModelTests.java index c26a3e2f..e67d3d2b 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/model/StateMachineModelTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/config/model/StateMachineModelTests.java @@ -29,9 +29,6 @@ import java.util.Map; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.BeanFactory; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.TaskScheduler; import org.springframework.security.access.AccessDecisionManager; import org.springframework.statemachine.StateMachine; import org.springframework.statemachine.config.ObjectStateMachineFactory; @@ -47,8 +44,6 @@ public class StateMachineModelTests { @Test public void testMachineManuallyViaModel() { BeanFactory beanFactory = null; - TaskExecutor taskExecutor = new SyncTaskExecutor(); - TaskScheduler taskScheduler = null; boolean autoStart = false; StateMachineEnsemble ensemble = null; List> listeners = new ArrayList<>(); @@ -60,8 +55,8 @@ public class StateMachineModelTests { boolean verifierEnabled = true; StateMachineModelVerifier verifier = new DefaultStateMachineModelVerifier<>(); - ConfigurationData configurationData = new ConfigurationData<>(beanFactory, taskExecutor, taskScheduler, autoStart, - ensemble, listeners, securityEnabled, transitionSecurityAccessDecisionManager, eventSecurityAccessDecisionManager, + ConfigurationData configurationData = new ConfigurationData<>(beanFactory, autoStart, ensemble, + listeners, securityEnabled, transitionSecurityAccessDecisionManager, eventSecurityAccessDecisionManager, eventSecurityRule, transitionSecurityRule, verifierEnabled, verifier, null, null, null); Collection> stateData = new ArrayList<>(); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/DocsConfigurationSampleTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/DocsConfigurationSampleTests.java index 9af18c35..ff019268 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/DocsConfigurationSampleTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/DocsConfigurationSampleTests.java @@ -24,13 +24,11 @@ import org.springframework.beans.factory.support.StaticListableBeanFactory; import org.springframework.context.ApplicationListener; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.expression.Expression; import org.springframework.expression.ExpressionParser; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.messaging.Message; import org.springframework.messaging.support.MessageBuilder; -import org.springframework.scheduling.concurrent.ConcurrentTaskScheduler; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateMachine; @@ -437,8 +435,6 @@ public class DocsConfigurationSampleTests extends AbstractStateMachineTests { .withConfiguration() .autoStartup(false) .beanFactory(null) - .taskExecutor(null) - .taskScheduler(null) .listener(null); return builder.build(); } @@ -1193,8 +1189,6 @@ public class DocsConfigurationSampleTests extends AbstractStateMachineTests { .autoStartup(true) .machineId("myMachineId") .beanFactory(new StaticListableBeanFactory()) - .taskExecutor(new SyncTaskExecutor()) - .taskScheduler(new ConcurrentTaskScheduler()) .listener(new StateMachineListenerAdapter()) .transitionConflictPolicy(TransitionConflictPolicy.CHILD); } diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/DocsConfigurationSampleTests2.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/DocsConfigurationSampleTests2.java index e975d80d..467913c4 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/DocsConfigurationSampleTests2.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/docs/DocsConfigurationSampleTests2.java @@ -31,17 +31,13 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.ScopedProxyMode; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; import org.springframework.http.HttpEntity; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.messaging.support.MessageBuilder; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.StateContext; import org.springframework.statemachine.StateMachine; -import org.springframework.statemachine.StateMachineSystemConstants; import org.springframework.statemachine.action.Action; import org.springframework.statemachine.config.EnableStateMachine; import org.springframework.statemachine.config.StateMachineBuilder; @@ -128,8 +124,7 @@ public class DocsConfigurationSampleTests2 extends AbstractStateMachineTests { Builder builder = StateMachineBuilder.builder(); builder.configureConfiguration() .withConfiguration() - .autoStartup(true) - .taskExecutor(new SyncTaskExecutor()); + .autoStartup(true); builder.configureStates() .withStates() .initial("S1") @@ -205,7 +200,7 @@ public class DocsConfigurationSampleTests2 extends AbstractStateMachineTests { @Test public void testConfig51() throws Exception { - context.register(Config5.class, ExecutorConfig.class); + context.register(Config5.class); context.refresh(); StateMachine machine = resolveMachine(context); TestListener listener = new TestListener(); @@ -241,7 +236,7 @@ public class DocsConfigurationSampleTests2 extends AbstractStateMachineTests { @Test public void testConfig61() throws Exception { - context.register(Config6.class, ExecutorConfig.class); + context.register(Config6.class); context.refresh(); StateMachine machine = resolveMachine(context); TestListener listener = new TestListener(); @@ -275,17 +270,6 @@ public class DocsConfigurationSampleTests2 extends AbstractStateMachineTests { assertThat(listener.readyStateEnteredCount, is(2)); } - @Configuration - static class ExecutorConfig { - - @Bean(name=StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME) - public TaskExecutor taskExecutor() { - ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); - taskExecutor.setCorePoolSize(1); - return taskExecutor; - } - } - // tag::snippetE[] @Configuration @EnableStateMachine diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/event/ContextEventTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/event/ContextEventTests.java index 3a27a04f..28c34dbe 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/event/ContextEventTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/event/ContextEventTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -54,7 +54,7 @@ public class ContextEventTests extends AbstractStateMachineTests { @SuppressWarnings("unchecked") @Test public void contextEventsEnabled() throws Exception { - context.register(BaseConfig.class, Config.class, Config1.class); + context.register(Config.class, Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -68,7 +68,7 @@ public class ContextEventTests extends AbstractStateMachineTests { @SuppressWarnings("unchecked") @Test public void contextEventsDisabled() throws Exception { - context.register(BaseConfig.class, Config.class, Config2.class); + context.register(Config.class, Config2.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -82,7 +82,7 @@ public class ContextEventTests extends AbstractStateMachineTests { @SuppressWarnings("unchecked") @Test public void contextEventsWithManualBuilder() throws Exception { - context.register(BaseConfig.class, Config.class, Config3.class); + context.register(Config.class, Config3.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -96,7 +96,7 @@ public class ContextEventTests extends AbstractStateMachineTests { @SuppressWarnings("unchecked") @Test public void contextEventsWithManualBuilderExternalConfigClass() throws Exception { - context.register(BaseConfig.class, Config.class, ExternalConfig.class); + context.register(Config.class, ExternalConfig.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/event/StateMachineEventTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/event/StateMachineEventTests.java index a1832e9a..1d387450 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/event/StateMachineEventTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/event/StateMachineEventTests.java @@ -57,7 +57,7 @@ public class StateMachineEventTests extends AbstractStateMachineTests { @Test public void testContextEvents() throws Exception { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); TestEventListener listener = context.getBean(TestEventListener.class); @@ -80,7 +80,7 @@ public class StateMachineEventTests extends AbstractStateMachineTests { @Test public void testEventNotAccepted() throws Exception { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); TestEventListener eventListener = context.getBean(TestEventListener.class); @@ -110,7 +110,7 @@ public class StateMachineEventTests extends AbstractStateMachineTests { @Test public void testSubmachineHandlesEvent() throws Exception { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -126,7 +126,7 @@ public class StateMachineEventTests extends AbstractStateMachineTests { @Test public void testEventNotAcceptedS1() throws Exception { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -148,7 +148,7 @@ public class StateMachineEventTests extends AbstractStateMachineTests { @Test public void testEventAcceptedS1() throws Exception { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -170,7 +170,7 @@ public class StateMachineEventTests extends AbstractStateMachineTests { @Test public void testEventAcceptedS1NoS1Transition() throws Exception { - context.register(BaseConfig.class, Config4.class); + context.register(Config4.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -192,7 +192,7 @@ public class StateMachineEventTests extends AbstractStateMachineTests { @Test public void testEventAcceptedS1GuardAllow() throws Exception { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -215,7 +215,7 @@ public class StateMachineEventTests extends AbstractStateMachineTests { @Test public void testEventAcceptedS11GuardAllow() throws Exception { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -238,7 +238,7 @@ public class StateMachineEventTests extends AbstractStateMachineTests { @Test public void testEventAcceptedS111GuardAllow() throws Exception { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/guard/GuardTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/guard/GuardTests.java index fd1b9244..0baffa03 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/guard/GuardTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/guard/GuardTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,8 +26,6 @@ import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests.TestAction; import org.springframework.statemachine.AbstractStateMachineTests.TestEvents; import org.springframework.statemachine.AbstractStateMachineTests.TestGuard; @@ -139,12 +137,6 @@ public class GuardTests { public TestGuard testGuard() { return new TestGuard(true); } - - @Bean - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } - } @Configuration @@ -180,12 +172,6 @@ public class GuardTests { public TestAction testAction() { return new TestAction(); } - - @Bean - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } - } @Configuration diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/guard/SpelExpressionGuardTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/guard/SpelExpressionGuardTests.java index b13a16fe..1bb42678 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/guard/SpelExpressionGuardTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/guard/SpelExpressionGuardTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -67,7 +67,7 @@ public class SpelExpressionGuardTests extends AbstractStateMachineTests { @SuppressWarnings({ "unchecked" }) @Test public void testGuardDenyStateChange() throws Exception { - AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(BaseConfig.class, Config1.class); + AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(Config1.class); assertTrue(ctx.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); ObjectStateMachine machine = ctx.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/listener/ListenerTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/listener/ListenerTests.java index 79909e46..8006a91c 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/listener/ListenerTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/listener/ListenerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,8 +31,6 @@ import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; import org.springframework.messaging.Message; import org.springframework.messaging.support.MessageBuilder; import org.springframework.statemachine.AbstractStateMachineTests; @@ -273,12 +271,6 @@ public class ListenerTests extends AbstractStateMachineTests { public LoggingAction loggingAction() { return new LoggingAction("as bean"); } - - @Bean - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } - } @Configuration @@ -309,12 +301,5 @@ public class ListenerTests extends AbstractStateMachineTests { .target(TestStates.S3) .event(TestEvents.E2); } - - @Bean - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } - } - } diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/security/AbstractSecurityTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/security/AbstractSecurityTests.java index cc922740..0c5ac547 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/security/AbstractSecurityTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/security/AbstractSecurityTests.java @@ -23,7 +23,6 @@ import static org.springframework.statemachine.TestUtils.doSendEventAndConsumeAl import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.StateMachine; import org.springframework.statemachine.config.StateMachineBuilder; @@ -98,8 +97,7 @@ public abstract class AbstractSecurityTests extends AbstractStateMachineTests { StateMachineConfigurationConfigurer configureConfiguration = builder.configureConfiguration(); configureConfiguration.withConfiguration() .listener(listener) - .autoStartup(true) - .taskExecutor(new SyncTaskExecutor()); + .autoStartup(true); SecurityConfigurer withSecurity = configureConfiguration.withSecurity(); withSecurity.enabled(true); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/security/TransitionSecurityExpressionTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/security/TransitionSecurityExpressionTests.java index cf80cef9..2f22df51 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/security/TransitionSecurityExpressionTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/security/TransitionSecurityExpressionTests.java @@ -26,7 +26,6 @@ import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.security.test.context.support.WithMockUser; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.StateMachine; @@ -128,7 +127,6 @@ public class TransitionSecurityExpressionTests extends AbstractStateMachineTests .withConfiguration() .listener(listener) .autoStartup(true) - .taskExecutor(new SyncTaskExecutor()) .and() .withSecurity() .enabled(true); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/service/DefaultStateMachineServiceTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/service/DefaultStateMachineServiceTests.java index 77e5c93f..07c9274d 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/service/DefaultStateMachineServiceTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/service/DefaultStateMachineServiceTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2017 the original author or authors. + * Copyright 2017-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,10 +23,7 @@ import java.util.Map; import org.junit.jupiter.api.Test; import org.springframework.context.Lifecycle; import org.springframework.context.annotation.AnnotationConfigApplicationContext; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.StateMachine; import org.springframework.statemachine.StateMachineSystemConstants; @@ -34,7 +31,6 @@ import org.springframework.statemachine.TestUtils; import org.springframework.statemachine.config.EnableStateMachineFactory; import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter; import org.springframework.statemachine.config.StateMachineFactory; -import org.springframework.statemachine.config.builders.StateMachineConfigurationConfigurer; import org.springframework.statemachine.config.builders.StateMachineStateConfigurer; import org.springframework.statemachine.config.builders.StateMachineTransitionConfigurer; @@ -104,58 +100,6 @@ public class DefaultStateMachineServiceTests extends AbstractStateMachineTests { assertThat(((Lifecycle)machine1).isRunning(), is(true)); } - @Test - public void testAcquireNotStartedThreading() { - context.register(Config2.class); - context.refresh(); - StateMachineFactory stateMachineFactory = - context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINEFACTORY, StateMachineFactory.class); - - DefaultStateMachineService service = new DefaultStateMachineService<>(stateMachineFactory); - StateMachine machine1 = service.acquireStateMachine("m1", false); - assertThat(((Lifecycle)machine1).isRunning(), is(false)); - } - - @Test - public void testAcquireStartedThreading() { - context.register(Config2.class); - context.refresh(); - StateMachineFactory stateMachineFactory = - context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINEFACTORY, StateMachineFactory.class); - - DefaultStateMachineService service = new DefaultStateMachineService<>(stateMachineFactory); - StateMachine machine1 = service.acquireStateMachine("m1", true); - assertThat(((Lifecycle)machine1).isRunning(), is(true)); - } - - @Test - public void testReleaseStopsMachineThreading() { - context.register(Config2.class); - context.refresh(); - StateMachineFactory stateMachineFactory = - context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINEFACTORY, StateMachineFactory.class); - - DefaultStateMachineService service = new DefaultStateMachineService<>(stateMachineFactory); - StateMachine machine1 = service.acquireStateMachine("m1", true); - assertThat(((Lifecycle)machine1).isRunning(), is(true)); - service.releaseStateMachine("m1"); - assertThat(((Lifecycle)machine1).isRunning(), is(false)); - } - - @Test - public void testReleaseDoesNotStopMachineThreading() { - context.register(Config2.class); - context.refresh(); - StateMachineFactory stateMachineFactory = - context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINEFACTORY, StateMachineFactory.class); - - DefaultStateMachineService service = new DefaultStateMachineService<>(stateMachineFactory); - StateMachine machine1 = service.acquireStateMachine("m1", true); - assertThat(((Lifecycle)machine1).isRunning(), is(true)); - service.releaseStateMachine("m1", false); - assertThat(((Lifecycle)machine1).isRunning(), is(true)); - } - @Test public void testServiceStop() throws Exception { context.register(Config1.class); @@ -196,42 +140,4 @@ public class DefaultStateMachineServiceTests extends AbstractStateMachineTests { .event(TestEvents.E1); } } - - @Configuration - @EnableStateMachineFactory - static class Config2 extends EnumStateMachineConfigurerAdapter { - - @Override - public void configure(StateMachineConfigurationConfigurer config) throws Exception { - config - .withConfiguration() - .taskExecutor(stateMachineTaskExecutor()); - } - - @Override - public void configure(StateMachineStateConfigurer states) throws Exception { - states - .withStates() - .initial(TestStates.S1) - .state(TestStates.S1) - .state(TestStates.S2); - } - - @Override - public void configure(StateMachineTransitionConfigurer transitions) throws Exception { - transitions - .withExternal() - .source(TestStates.S1) - .target(TestStates.S2) - .event(TestEvents.E1); - } - - @Bean - public TaskExecutor stateMachineTaskExecutor() { - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setCorePoolSize(4); - return executor; - } - - } } diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/ChoiceStateTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/ChoiceStateTests.java index d12aa18a..7d0d100b 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/ChoiceStateTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/ChoiceStateTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2017 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -54,7 +54,7 @@ public class ChoiceStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testFirst() { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -68,7 +68,7 @@ public class ChoiceStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testThen1() { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -82,7 +82,7 @@ public class ChoiceStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testThen2() { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -96,7 +96,7 @@ public class ChoiceStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testLast() { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -110,7 +110,7 @@ public class ChoiceStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testOnlyLast() { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -124,7 +124,7 @@ public class ChoiceStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testSubsequentChoiceStates() { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -138,7 +138,7 @@ public class ChoiceStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testBackToItself() { - context.register(BaseConfig.class, Config4.class); + context.register(Config4.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/CompletionEventTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/CompletionEventTests.java index c33e4568..200065fb 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/CompletionEventTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/CompletionEventTests.java @@ -63,24 +63,6 @@ public class CompletionEventTests extends AbstractStateMachineTests { assertThat(machine.getState().getId(), is("S3")); } - @Test - public void testSimpleStateWithStateActionCompletesThreading() throws Exception { - context.register(Config1.class, BaseConfig2.class); - context.refresh(); - StateMachine machine = resolveMachine(context); - TestCountAction testAction2 = context.getBean("testAction2", TestCountAction.class); - - doStartAndAssert(machine); - Thread.sleep(1000); - - doSendEventAndConsumeAll(machine, "E1"); - - assertThat(testAction2.latch.await(2, TimeUnit.SECONDS), is(true)); - assertThat(testAction2.count, is(1)); - Thread.sleep(1000); - assertThat(machine.getState().getId(), is("S3")); - } - @Test public void testSimpleStateWithoutStateActionCompletes() throws Exception { context.register(Config2.class); @@ -123,24 +105,6 @@ public class CompletionEventTests extends AbstractStateMachineTests { assertThat(machine.getState().getId(), is("S3")); } - @Test - public void testSubmachineWithoutStateActionCompletesThreading() throws Exception { - context.register(Config3.class, BaseConfig2.class); - context.refresh(); - StateMachine machine = resolveMachine(context); - - doStartAndAssert(machine); - Thread.sleep(200); - assertThat(machine.getState().getId(), is("S1")); - - doSendEventAndConsumeAll(machine, "E1"); - Thread.sleep(200); - assertThat(machine.getState().getId(), is("S3")); - } - - public void testRegionWithStateActionCompletes() throws Exception { - } - @Test public void testRegionWithoutStateActionCompletes() throws Exception { context.register(Config4.class); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/EndStateTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/EndStateTests.java index 264fb872..cead8ccc 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/EndStateTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/EndStateTests.java @@ -27,10 +27,7 @@ import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.ObjectStateMachine; import org.springframework.statemachine.StateMachineSystemConstants; @@ -169,7 +166,7 @@ public class EndStateTests extends AbstractStateMachineTests { @Test public void testEndStatesWithRegionsCompletionCompletes() throws InterruptedException { - context.register(Config8.class, BaseConfig2.class); + context.register(Config8.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -186,7 +183,7 @@ public class EndStateTests extends AbstractStateMachineTests { @Test public void testEndStatesWithSubmachineCompletionCompletes() throws InterruptedException { - context.register(Config9.class, BaseConfig2.class); + context.register(Config9.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -204,7 +201,7 @@ public class EndStateTests extends AbstractStateMachineTests { @Test public void testEndStatesWithRegionsCompletionCompletes2() throws InterruptedException { - context.register(Config10.class, BaseConfig2.class); + context.register(Config10.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -276,12 +273,6 @@ public class EndStateTests extends AbstractStateMachineTests { .target(TestStates.SF) .event(TestEvents.EF); } - - @Bean - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } - } @Configuration @@ -456,11 +447,6 @@ public class EndStateTests extends AbstractStateMachineTests { .target(TestStates.SF) .event(TestEvents.E3); } - - @Bean - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } } @Configuration diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/ForkStateTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/ForkStateTests.java index f788e877..fa0cc02a 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/ForkStateTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/ForkStateTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -48,7 +48,7 @@ public class ForkStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testForkEventPassed() throws Exception { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -80,7 +80,7 @@ public class ForkStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testForkToSuperEventNotPassed() throws Exception { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -112,7 +112,7 @@ public class ForkStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testForkToSuperAndSubEventPassed() throws Exception { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/HistoryStateTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/HistoryStateTests.java index 5b7394b8..ed42099c 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/HistoryStateTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/HistoryStateTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -41,7 +41,7 @@ public class HistoryStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testShallowInSubmachine() { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -58,7 +58,7 @@ public class HistoryStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testShallowNoHistoryDefaultsNormalEntry() { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -72,7 +72,7 @@ public class HistoryStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testDeep() { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -88,7 +88,7 @@ public class HistoryStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testShallow() { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -105,7 +105,7 @@ public class HistoryStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testDefaultNotEntered() { - context.register(BaseConfig.class, Config4.class); + context.register(Config4.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -119,7 +119,7 @@ public class HistoryStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testDefaultHistoryIsFinal() { - context.register(BaseConfig.class, Config4.class); + context.register(Config4.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/InitialStateTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/InitialStateTests.java index 675d59c2..9bb37ed4 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/InitialStateTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/InitialStateTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -44,7 +44,7 @@ public class InitialStateTests extends AbstractStateMachineTests { @SuppressWarnings({ "unchecked" }) @Test public void testInitialStateTransition() throws Exception { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); ObjectStateMachine machine = @@ -56,7 +56,7 @@ public class InitialStateTests extends AbstractStateMachineTests { @Test public void testInitialStateMissingFailure() throws Exception { assertThrows(Exception.class, () -> { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); }); @@ -65,7 +65,7 @@ public class InitialStateTests extends AbstractStateMachineTests { @SuppressWarnings({ "unchecked" }) @Test public void testInitialNoNeedAsState() throws Exception { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); ObjectStateMachine machine = @@ -151,7 +151,7 @@ public class InitialStateTests extends AbstractStateMachineTests { } } - + @Override protected AnnotationConfigApplicationContext buildContext() { return new AnnotationConfigApplicationContext(); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/JoinStateTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/JoinStateTests.java index 6c7db0b8..036e9614 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/JoinStateTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/JoinStateTests.java @@ -53,7 +53,7 @@ public class JoinStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testJoin() throws Exception { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -86,7 +86,7 @@ public class JoinStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testJoinLoopTwice() throws Exception { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -128,7 +128,7 @@ public class JoinStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testJoinSuper() throws Exception { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -161,7 +161,7 @@ public class JoinStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testJoinSuperLoopTwice() throws Exception { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -202,7 +202,7 @@ public class JoinStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testMultiJoin1() throws Exception { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -235,7 +235,7 @@ public class JoinStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testMultiJoin2() throws Exception { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -269,7 +269,7 @@ public class JoinStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testInterceptorPostStateChangeTransitionNotNull() throws Exception { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -316,7 +316,7 @@ public class JoinStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testJoinSuperMultipleEnds1() throws Exception { - context.register(BaseConfig.class, Config4.class); + context.register(Config4.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -349,7 +349,7 @@ public class JoinStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testJoinSuperMultipleEnds2() throws Exception { - context.register(BaseConfig.class, Config4.class); + context.register(Config4.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/JunctionStateTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/JunctionStateTests.java index e2f08b73..98df2eb7 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/JunctionStateTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/JunctionStateTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2016 the original author or authors. + * Copyright 2016-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -51,7 +51,7 @@ public class JunctionStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testFirst() { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -65,7 +65,7 @@ public class JunctionStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testThen1() { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -79,7 +79,7 @@ public class JunctionStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testThen2() { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -93,7 +93,7 @@ public class JunctionStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testLast() { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -107,7 +107,7 @@ public class JunctionStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testOnlyLast() { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -121,7 +121,7 @@ public class JunctionStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testSubsequentJunctionStates() { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/RegionStateTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/RegionStateTests.java index 6c985b6d..b821ba8b 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/RegionStateTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/RegionStateTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,7 +25,6 @@ import java.util.Collection; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.support.DefaultListableBeanFactory; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.ObjectStateMachine; import org.springframework.statemachine.region.Region; @@ -70,10 +69,8 @@ public class RegionStateTests extends AbstractStateMachineTests { transitions.add(transitionFromS1ToS2); transitions.add(transitionFromS2ToS3); - SyncTaskExecutor taskExecutor = new SyncTaskExecutor(); BeanFactory beanFactory = new DefaultListableBeanFactory(); ObjectStateMachine machine = new ObjectStateMachine(states, transitions, stateSI); - machine.setTaskExecutor(taskExecutor); machine.setBeanFactory(beanFactory); machine.afterPropertiesSet(); machine.start(); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/StateActionTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/StateActionTests.java index 1925f498..2c476043 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/StateActionTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/StateActionTests.java @@ -28,8 +28,6 @@ import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; -import org.springframework.core.task.TaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.ObjectStateMachine; import org.springframework.statemachine.StateMachineSystemConstants; @@ -120,12 +118,6 @@ public class StateActionTests extends AbstractStateMachineTests { public Action testExitAction() { return new TestExitAction(); } - - @Bean - public TaskExecutor taskExecutor() { - return new SyncTaskExecutor(); - } - } @Configuration diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/SubmachineStateTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/SubmachineStateTests.java index 706bf68b..586c116f 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/SubmachineStateTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/state/SubmachineStateTests.java @@ -28,7 +28,6 @@ import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.ObjectStateMachine; import org.springframework.statemachine.StateMachine; @@ -83,10 +82,8 @@ public class SubmachineStateTests extends AbstractStateMachineTests { transitions.add(transitionFromS1ToS2); transitions.add(transitionFromS2ToS3); - SyncTaskExecutor taskExecutor = new SyncTaskExecutor(); BeanFactory beanFactory = new DefaultListableBeanFactory(); ObjectStateMachine machine = new ObjectStateMachine(states, transitions, stateSI); - machine.setTaskExecutor(taskExecutor); machine.setBeanFactory(beanFactory); machine.afterPropertiesSet(); machine.start(); @@ -104,7 +101,7 @@ public class SubmachineStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testFromSimpleToOtherSubstate() { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -121,7 +118,7 @@ public class SubmachineStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testAllSubmachinesRunningInitialsTakesToDeep() throws Exception { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -147,7 +144,7 @@ public class SubmachineStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testAllSubmachinesRunningInitialsNotTakeToDeep() throws Exception { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); @@ -173,7 +170,7 @@ public class SubmachineStateTests extends AbstractStateMachineTests { @Test @SuppressWarnings("unchecked") public void testAllSubmachinesStopped() throws Exception { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); ObjectStateMachine machine = context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/transition/TransitionEventHeaderTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/transition/TransitionEventHeaderTests.java index f0d447c1..72d0d41f 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/transition/TransitionEventHeaderTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/transition/TransitionEventHeaderTests.java @@ -28,9 +28,7 @@ import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.TaskExecutor; import org.springframework.messaging.support.MessageBuilder; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.ObjectStateMachine; import org.springframework.statemachine.StateContext; @@ -39,7 +37,6 @@ import org.springframework.statemachine.StateMachineSystemConstants; import org.springframework.statemachine.action.Action; import org.springframework.statemachine.config.EnableStateMachine; import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter; -import org.springframework.statemachine.config.builders.StateMachineConfigurationConfigurer; import org.springframework.statemachine.config.builders.StateMachineStateConfigurer; import org.springframework.statemachine.config.builders.StateMachineTransitionConfigurer; import org.springframework.statemachine.guard.Guard; @@ -386,11 +383,6 @@ public class TransitionEventHeaderTests extends AbstractStateMachineTests { @EnableStateMachine public static class Config5 extends EnumStateMachineConfigurerAdapter { - @Override - public void configure(StateMachineConfigurationConfigurer config) throws Exception { - config.withConfiguration().taskExecutor(customTaskExecutor()); - } - @Override public void configure(StateMachineStateConfigurer states) throws Exception { states @@ -443,14 +435,6 @@ public class TransitionEventHeaderTests extends AbstractStateMachineTests { public EventCheckGuard eventCheckGuard() { return new EventCheckGuard(true); } - - @Bean(name = StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME) - public TaskExecutor customTaskExecutor() { - ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); - taskExecutor.setCorePoolSize(1); - return taskExecutor; - } - } private static class EventCheckGuard implements Guard { diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/transition/TransitionOrderTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/transition/TransitionOrderTests.java index 436d4532..e66add63 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/transition/TransitionOrderTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/transition/TransitionOrderTests.java @@ -15,7 +15,6 @@ */ package org.springframework.statemachine.transition; -import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; import static org.springframework.statemachine.TestUtils.doSendEventAndConsumeAll; @@ -24,17 +23,12 @@ import static org.springframework.statemachine.TestUtils.resolveMachine; import java.util.ArrayList; import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.TaskExecutor; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.StateMachine; -import org.springframework.statemachine.StateMachineSystemConstants; import org.springframework.statemachine.config.EnableStateMachine; import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter; import org.springframework.statemachine.config.builders.StateMachineConfigurationConfigurer; @@ -179,24 +173,6 @@ public class TransitionOrderTests extends AbstractStateMachineTests { contains(TestStates.S1, TestStates.S10, TestStates.S1011, TestStates.S1)); } - @Test - public void testAnonymousTransitionInConfigUseParent3Threading() throws InterruptedException { - TestListener listener = new TestListener(); - context.register(Config4.class, StateMachineExecutorConfiguration.class); - context.refresh(); - StateMachine machine = resolveMachine(context); - machine.addStateListener(listener); - - doStartAndAssert(machine); - assertThat(listener.statesEnteredLatch.await(1, TimeUnit.SECONDS), is(true)); - assertThat(machine.getState().getIds(), contains(TestStates.S1)); - - listener.reset(1, 3); - doSendEventAndConsumeAll(machine, TestEvents.E1); - assertThat(listener.statesEnteredLatch.await(1, TimeUnit.SECONDS), is(true)); - assertThat(listener.statesEntered, contains(TestStates.S10, TestStates.S1011, TestStates.S1)); - } - @Configuration @EnableStateMachine public static class Config1 extends EnumStateMachineConfigurerAdapter { @@ -558,18 +534,6 @@ public class TransitionOrderTests extends AbstractStateMachineTests { } } - @Configuration - public static class StateMachineExecutorConfiguration { - - @Bean(name = StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME) - public TaskExecutor stateMachineTaskExecutor() { - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setCorePoolSize(4); - return executor; - } - } - - static class TestListener extends StateMachineListenerAdapter { volatile CountDownLatch stateChangedLatch = new CountDownLatch(1); diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/transition/TransitionTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/transition/TransitionTests.java index 5c0cf204..53e7c11a 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/transition/TransitionTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/transition/TransitionTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -34,9 +34,7 @@ import org.junit.jupiter.api.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.TaskExecutor; import org.springframework.messaging.support.MessageBuilder; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.statemachine.AbstractStateMachineTests; import org.springframework.statemachine.ObjectStateMachine; import org.springframework.statemachine.StateContext; @@ -68,7 +66,7 @@ public class TransitionTests extends AbstractStateMachineTests { @SuppressWarnings({ "unchecked" }) @Test public void testTriggerlessTransition() throws Exception { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @@ -91,7 +89,7 @@ public class TransitionTests extends AbstractStateMachineTests { @SuppressWarnings({ "unchecked" }) @Test public void testTriggerlessTransitionFromInitial() throws Exception { - context.register(BaseConfig.class, Config3.class); + context.register(Config3.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); ObjectStateMachine machine = @@ -103,7 +101,7 @@ public class TransitionTests extends AbstractStateMachineTests { @SuppressWarnings({ "unchecked" }) @Test public void testTriggerlessTransitionFromInitialToEnd() throws Exception { - context.register(BaseConfig.class, Config4.class); + context.register(Config4.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @@ -120,7 +118,7 @@ public class TransitionTests extends AbstractStateMachineTests { @SuppressWarnings({ "unchecked" }) @Test public void testTriggerlessTransitionInRegionsDefinedInSubStates() throws Exception { - context.register(BaseConfig.class, Config5.class); + context.register(Config5.class); context.refresh(); TestAction testAction1 = context.getBean("testAction1", TestAction.class); @@ -147,7 +145,7 @@ public class TransitionTests extends AbstractStateMachineTests { @SuppressWarnings({ "unchecked" }) @Test public void testTriggerlessTransitionInRegions() throws Exception { - context.register(BaseConfig.class, Config6.class); + context.register(Config6.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); ObjectStateMachine machine = @@ -161,7 +159,7 @@ public class TransitionTests extends AbstractStateMachineTests { @SuppressWarnings({ "unchecked" }) @Test public void testInternalTransition() throws Exception { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); ObjectStateMachine machine = @@ -191,7 +189,7 @@ public class TransitionTests extends AbstractStateMachineTests { @Test public void testTransitDirectlyToSubstateSkipInitial() throws InterruptedException { - context.register(BaseConfig.class, Config7.class); + context.register(Config7.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -215,7 +213,7 @@ public class TransitionTests extends AbstractStateMachineTests { @Test public void testTransitDeepDirectlyToSubstateSkipInitial() throws InterruptedException { - context.register(BaseConfig.class, Config8.class); + context.register(Config8.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @SuppressWarnings("unchecked") @@ -240,7 +238,7 @@ public class TransitionTests extends AbstractStateMachineTests { @SuppressWarnings("unchecked") @Test public void testAnonymousTransitionInSubmachine() throws InterruptedException { - context.register(BaseConfig.class, Config9.class); + context.register(Config9.class); context.refresh(); assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); @@ -266,97 +264,6 @@ public class TransitionTests extends AbstractStateMachineTests { assertThat(testAction2.testHeader, is("testValue")); } - @SuppressWarnings("unchecked") - @Test - public void testAnonymousTransitionInSubmachineWithThreading() throws InterruptedException { - context.register(Config9.class, ExecutorConfig.class); - context.refresh(); - - assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); - ObjectStateMachine machine = - context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); - HeaderTestAction testAction1 = context.getBean("testAction1", HeaderTestAction.class); - HeaderTestAction testAction2 = context.getBean("testAction2", HeaderTestAction.class); - - - TestListener listener = new TestListener(); - machine.addStateListener(listener); - - machine.start(); - assertThat(listener.stateMachineStartedLatch.await(2, TimeUnit.SECONDS), is(true)); - assertThat(machine.getState().getIds(), contains(TestStates.S1)); - - listener.reset(4); - machine.sendEvent(MessageBuilder.withPayload(TestEvents.E1).setHeader("testHeader", "testValue").build()); - assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true)); - assertThat(listener.stateChangedCount, is(4)); - assertThat(machine.getState().getIds(), contains(TestStates.S2, TestStates.S212)); - - assertThat(testAction1.testHeader, is("testValue")); - assertThat(testAction2.testHeader, is("testValue")); - } - - @SuppressWarnings("unchecked") - @Test - public void testAnonymousTransitionInSubmachineWithExitWithThreading1() throws InterruptedException { - context.register(Config10.class, ExecutorConfig.class); - context.refresh(); - - assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); - ObjectStateMachine machine = - context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); - HeaderTestAction testAction1 = context.getBean("testAction1", HeaderTestAction.class); - HeaderTestAction testAction2 = context.getBean("testAction2", HeaderTestAction.class); - - - TestListener listener = new TestListener(); - machine.addStateListener(listener); - - machine.start(); - assertThat(listener.stateMachineStartedLatch.await(2, TimeUnit.SECONDS), is(true)); - assertThat(machine.getState().getIds(), contains(TestStates.S1)); - - listener.reset(5); - machine.sendEvent(MessageBuilder.withPayload(TestEvents.E1).setHeader("testHeader", "testValue").build()); - assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true)); - assertThat(listener.stateChangedCount, is(5)); - assertThat(machine.getState().getIds(), contains(TestStates.S1)); - - assertThat(testAction1.testHeader, is("testValue")); - assertThat(testAction2.testHeader, is("testValue")); - } - - @SuppressWarnings("unchecked") - @Test - public void testAnonymousTransitionInSubmachineWithExitWithThreading2() throws InterruptedException { - context.register(Config11.class, ExecutorConfig.class); - context.refresh(); - - assertTrue(context.containsBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE)); - ObjectStateMachine machine = - context.getBean(StateMachineSystemConstants.DEFAULT_ID_STATEMACHINE, ObjectStateMachine.class); - HeaderTestAction testAction1 = context.getBean("testAction1", HeaderTestAction.class); - - - TestListener listener = new TestListener(); - machine.addStateListener(listener); - - machine.start(); - assertThat(listener.stateMachineStartedLatch.await(2, TimeUnit.SECONDS), is(true)); - assertThat(machine.getState().getIds(), contains(TestStates.S1)); - - listener.reset(3); - machine.sendEvent(MessageBuilder.withPayload(TestEvents.E1).setHeader("testHeader", "testValue").build()); - assertThat(testAction1.latch.await(2, TimeUnit.SECONDS), is(true)); - assertThat(listener.s20Latch.await(2, TimeUnit.SECONDS), is(true)); - - assertThat(listener.stateChangedLatch.await(2, TimeUnit.SECONDS), is(true)); - assertThat(listener.stateChangedCount, is(3)); - assertThat(machine.getState().getIds(), contains(TestStates.S1)); - - assertThat(testAction1.testHeader, is("testValue")); - } - @Configuration @EnableStateMachine public static class Config1 extends EnumStateMachineConfigurerAdapter { @@ -907,16 +814,4 @@ public class TransitionTests extends AbstractStateMachineTests { } } - - @Configuration - static class ExecutorConfig { - - @Bean(name=StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME) - public TaskExecutor taskExecutor() { - ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); - taskExecutor.setCorePoolSize(3); - taskExecutor.setMaxPoolSize(3); - return taskExecutor; - } - } } diff --git a/spring-statemachine-core/src/test/java/org/springframework/statemachine/trigger/TimerTriggerTests.java b/spring-statemachine-core/src/test/java/org/springframework/statemachine/trigger/TimerTriggerTests.java index d04dcf6f..db7faa02 100644 --- a/spring-statemachine-core/src/test/java/org/springframework/statemachine/trigger/TimerTriggerTests.java +++ b/spring-statemachine-core/src/test/java/org/springframework/statemachine/trigger/TimerTriggerTests.java @@ -68,7 +68,7 @@ public class TimerTriggerTests extends AbstractStateMachineTests { @Test public void testListenerEvents() throws Exception { - context.register(BaseConfig.class, Config1.class); + context.register(Config1.class); context.refresh(); final CountDownLatch latch = new CountDownLatch(2); @@ -89,7 +89,7 @@ public class TimerTriggerTests extends AbstractStateMachineTests { @Test public void testTimerTransitions() throws Exception { - context.register(BaseConfig.class, Config2.class); + context.register(Config2.class); context.refresh(); StateMachine machine = resolveMachine(context); TestTimerAction action = context.getBean("testTimerAction", TestTimerAction.class); @@ -150,7 +150,7 @@ public class TimerTriggerTests extends AbstractStateMachineTests { @Test public void testTimerDelayFireOnlyOnState() throws Exception { - context.register(BaseConfig.class, Config4.class); + context.register(Config4.class); context.refresh(); StateMachine machine = resolveMachine(context); TestTimerAction action = context.getBean("testTimerAction", TestTimerAction.class); diff --git a/spring-statemachine-recipes/src/main/java/org/springframework/statemachine/recipes/tasks/TasksHandler.java b/spring-statemachine-recipes/src/main/java/org/springframework/statemachine/recipes/tasks/TasksHandler.java index 7b25e74b..808fb9e2 100644 --- a/spring-statemachine-recipes/src/main/java/org/springframework/statemachine/recipes/tasks/TasksHandler.java +++ b/spring-statemachine-recipes/src/main/java/org/springframework/statemachine/recipes/tasks/TasksHandler.java @@ -40,6 +40,7 @@ import org.springframework.statemachine.config.builders.StateMachineTransitionCo import org.springframework.statemachine.guard.Guard; import org.springframework.statemachine.listener.AbstractCompositeListener; import org.springframework.statemachine.recipes.support.RunnableAction; +import org.springframework.statemachine.region.RegionExecutionPolicy; import org.springframework.statemachine.state.PseudoStateKind; import org.springframework.statemachine.state.State; import org.springframework.statemachine.support.DefaultStateMachineContext; @@ -228,9 +229,9 @@ public class TasksHandler { StateMachineBuilder.Builder builder = StateMachineBuilder.builder(); int taskCount = topLevelTaskCount(tasks); - - builder.configureConfiguration().withConfiguration() - .taskExecutor(taskExecutor != null ? taskExecutor : taskExecutor(taskCount)); + if (taskCount > 1) { + builder.configureConfiguration().withConfiguration().regionExecutionPolicy(RegionExecutionPolicy.PARALLEL); + } StateMachineStateConfigurer stateMachineStateConfigurer = builder.configureStates(); StateMachineTransitionConfigurer stateMachineTransitionConfigurer = builder.configureTransitions(); @@ -317,13 +318,6 @@ public class TasksHandler { return builder.build(); } - private static TaskExecutor taskExecutor(int taskCount) { - ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); - taskExecutor.afterPropertiesSet(); - taskExecutor.setCorePoolSize(taskCount); - return taskExecutor; - } - private static int topLevelTaskCount(List tasks) { Tree tree = new Tree(); for (TaskWrapper wrapper : tasks) { diff --git a/spring-statemachine-recipes/src/test/java/org/springframework/statemachine/recipes/PersistStateMachineHandlerTests.java b/spring-statemachine-recipes/src/test/java/org/springframework/statemachine/recipes/PersistStateMachineHandlerTests.java index a549d0f4..aac4b2ff 100644 --- a/spring-statemachine-recipes/src/test/java/org/springframework/statemachine/recipes/PersistStateMachineHandlerTests.java +++ b/spring-statemachine-recipes/src/test/java/org/springframework/statemachine/recipes/PersistStateMachineHandlerTests.java @@ -25,7 +25,6 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.Test; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.messaging.Message; import org.springframework.messaging.support.MessageBuilder; import org.springframework.statemachine.StateMachine; @@ -135,7 +134,6 @@ public class PersistStateMachineHandlerTests { builder.configureConfiguration() .withConfiguration() - .taskExecutor(new SyncTaskExecutor()) .autoStartup(true); builder.configureStates() @@ -160,7 +158,6 @@ public class PersistStateMachineHandlerTests { builder.configureConfiguration() .withConfiguration() - .taskExecutor(new SyncTaskExecutor()) .autoStartup(true); builder.configureStates() diff --git a/spring-statemachine-samples/tasks/src/main/java/demo/tasks/Application.java b/spring-statemachine-samples/tasks/src/main/java/demo/tasks/Application.java index cdef480e..049d99bc 100644 --- a/spring-statemachine-samples/tasks/src/main/java/demo/tasks/Application.java +++ b/spring-statemachine-samples/tasks/src/main/java/demo/tasks/Application.java @@ -23,12 +23,9 @@ import java.util.Map; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.TaskExecutor; import org.springframework.messaging.support.MessageBuilder; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.shell.Bootstrap; import org.springframework.statemachine.StateContext; -import org.springframework.statemachine.StateMachineSystemConstants; import org.springframework.statemachine.action.Action; import org.springframework.statemachine.annotation.OnTransition; import org.springframework.statemachine.config.EnableStateMachine; diff --git a/spring-statemachine-test/src/test/java/org/springframework/statemachine/test/StateMachineTestingTests.java b/spring-statemachine-test/src/test/java/org/springframework/statemachine/test/StateMachineTestingTests.java index 2abfcb6a..513c8455 100644 --- a/spring-statemachine-test/src/test/java/org/springframework/statemachine/test/StateMachineTestingTests.java +++ b/spring-statemachine-test/src/test/java/org/springframework/statemachine/test/StateMachineTestingTests.java @@ -28,7 +28,6 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.statemachine.StateMachine; import org.springframework.statemachine.config.EnableStateMachine; import org.springframework.statemachine.config.StateMachineConfigurerAdapter; -import org.springframework.statemachine.config.builders.StateMachineConfigurationConfigurer; import org.springframework.statemachine.config.builders.StateMachineStateConfigurer; import org.springframework.statemachine.config.builders.StateMachineTransitionConfigurer; @@ -184,13 +183,6 @@ public class StateMachineTestingTests extends AbstractStateMachineTests { @EnableStateMachine static class Config2 extends StateMachineConfigurerAdapter { - @Override - public void configure(StateMachineConfigurationConfigurer config) throws Exception { - config - .withConfiguration() - .taskExecutor(taskExecutor()); - } - @Override public void configure(StateMachineStateConfigurer states) throws Exception { states diff --git a/spring-statemachine-test/src/test/java/org/springframework/statemachine/test/docs/DocsTestSampleTests.java b/spring-statemachine-test/src/test/java/org/springframework/statemachine/test/docs/DocsTestSampleTests.java index 22d393d7..9ff6cd91 100644 --- a/spring-statemachine-test/src/test/java/org/springframework/statemachine/test/docs/DocsTestSampleTests.java +++ b/spring-statemachine-test/src/test/java/org/springframework/statemachine/test/docs/DocsTestSampleTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2018 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,7 +23,6 @@ import static org.hamcrest.collection.IsMapContaining.hasEntry; //end::snippetC[] import org.junit.Test; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.statemachine.StateMachine; import org.springframework.statemachine.config.StateMachineBuilder; import org.springframework.statemachine.test.StateMachineTestPlan; @@ -64,7 +63,6 @@ public class DocsTestSampleTests { builder.configureConfiguration() .withConfiguration() - .taskExecutor(new SyncTaskExecutor()) .autoStartup(true); builder.configureStates() diff --git a/spring-statemachine-zookeeper/src/test/java/org/springframework/statemachine/zookeeper/ZookeeperStateMachineTests.java b/spring-statemachine-zookeeper/src/test/java/org/springframework/statemachine/zookeeper/ZookeeperStateMachineTests.java index 28ac7c99..d9daf2b0 100644 --- a/spring-statemachine-zookeeper/src/test/java/org/springframework/statemachine/zookeeper/ZookeeperStateMachineTests.java +++ b/spring-statemachine-zookeeper/src/test/java/org/springframework/statemachine/zookeeper/ZookeeperStateMachineTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2015-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,7 +30,6 @@ import org.springframework.context.SmartLifecycle; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.core.task.SyncTaskExecutor; import org.springframework.messaging.Message; import org.springframework.messaging.support.MessageBuilder; import org.springframework.statemachine.StateContext; @@ -791,7 +790,6 @@ public class ZookeeperStateMachineTests extends AbstractZookeeperTests { builder.configureConfiguration() .withConfiguration() - .taskExecutor(new SyncTaskExecutor()) .autoStartup(true) .and() .withDistributed() @@ -897,7 +895,6 @@ public class ZookeeperStateMachineTests extends AbstractZookeeperTests { builder.configureConfiguration() .withConfiguration() - .taskExecutor(new SyncTaskExecutor()) .autoStartup(true) .and() .withDistributed()