Change tasks sample to parallel execution

- Now defining parallel region execution policy as
  TaskExecutor won't work anymore.
- Relates #397
This commit is contained in:
Janne Valkealahti
2019-08-03 07:42:12 +01:00
parent 200393c1e8
commit 6befc614a0
2 changed files with 22 additions and 20 deletions

View File

@@ -33,9 +33,11 @@ import org.springframework.statemachine.action.Action;
import org.springframework.statemachine.annotation.OnTransition;
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;
import org.springframework.statemachine.region.RegionExecutionPolicy;
import org.springframework.util.ObjectUtils;
import reactor.core.publisher.Mono;
@@ -48,6 +50,16 @@ public class Application {
static class StateMachineConfig
extends EnumStateMachineConfigurerAdapter<States, Events> {
//tag::snippetAE[]
@Override
public void configure(StateMachineConfigurationConfigurer<States, Events> config)
throws Exception {
config
.withConfiguration()
.regionExecutionPolicy(RegionExecutionPolicy.PARALLEL);
}
//end::snippetAE[]
//tag::snippetAA[]
@Override
public void configure(StateMachineStateConfigurer<States, Events> states)
@@ -195,16 +207,6 @@ public class Application {
public Tasks tasks() {
return new Tasks();
}
//tag::snippetAE[]
@Bean(name = StateMachineSystemConstants.TASK_EXECUTOR_BEAN_NAME)
public TaskExecutor taskExecutor() {
ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();
taskExecutor.setCorePoolSize(5);
return taskExecutor;
}
//end::snippetAE[]
}
//tag::snippetB[]