Remove TaskExecutor and TaskScheduler

- As all execution and scheduling is now in reactor,
  remove all traces of these spring interfaces.
- Fixes #800
This commit is contained in:
Janne Valkealahti
2019-08-03 14:40:37 +01:00
parent f1bf35e688
commit da9c68f4e6
63 changed files with 172 additions and 1428 deletions

View File

@@ -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<String, String> 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<String, String> stateMachineStateConfigurer = builder.configureStates();
StateMachineTransitionConfigurer<String, String> 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<TaskWrapper> tasks) {
Tree<TaskWrapper> tree = new Tree<TaskWrapper>();
for (TaskWrapper wrapper : tasks) {

View File

@@ -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()