- Change to Boot 2.2.x to pick upcoming series. - Introduce Awaitility to tests - Introduce new StateMachineEventResult concept in favor of boolean when sending events. This result interface will have richer information what happens when event is processed as previously we simply had boolean flag telling if even was accepted. With StateMachineEventResult we can can provide more information like if event was deferred and which region provided this message. - Deprecate old event methods and add new reactive event methods which now return a Flux of StateMachineEventResult's. This concept then allows to send Flux of events to a machine. - State exit/entry now return Mono<Void> - Refactor component lifecycle to be reactive as old start/stop would not work anymore in a reactive statemachine simply because start may cause changes and execute flow's. - To ease testing add internal assertj assertions for some classes. This work is kept in a test classes for time being to get move to public spring-statemachine-test when things are more mature. - Overhaul StateMachineExecutor interface and replace DefaultStateMachineExecutor with ReactiveStateMachineExecutor. - New ReactiveLifecycleManager which is kinda reactive replacement of some internals of a LifecycleObjectSupport. Needed as components are reactively started and stopped during a machine execution. - New RegionExecutionPolicy concept which is an attempt to introduce parallel config idea to a regions. Previously this was just naively handled with TaskExecutor which never worked perfectly while working through reactor now seem to provide more consistent results. - Some test has been changed to reflect changes in a StateMachineExecutor. Also execution using reactor made some changes to state notifications which now seem to be more consistent(aka. previously parallel execution might have given notifications in wrong order and in some cases kinda bogus changes). - New turnstile reactive sample which is just start of a reactive sample to show concept with webflux. - Don't yet really add any docs as things are in-flight. - Fixes #740
58 lines
2.0 KiB
Groovy
58 lines
2.0 KiB
Groovy
rootProject.name = 'spring-statemachine'
|
|
|
|
include 'spring-statemachine-core'
|
|
include 'spring-statemachine-test'
|
|
include 'spring-statemachine-kryo'
|
|
include 'spring-statemachine-zookeeper'
|
|
include 'spring-statemachine-cluster'
|
|
include 'spring-statemachine-uml'
|
|
include 'spring-statemachine-build-tests'
|
|
include 'spring-statemachine-recipes'
|
|
include 'spring-statemachine-autoconfigure'
|
|
include 'spring-statemachine-bom'
|
|
include 'spring-statemachine-starter'
|
|
|
|
include 'spring-statemachine-samples'
|
|
include 'spring-statemachine-samples:turnstile'
|
|
include 'spring-statemachine-samples:turnstilereactive'
|
|
include 'spring-statemachine-samples:showcase'
|
|
include 'spring-statemachine-samples:cdplayer'
|
|
include 'spring-statemachine-samples:tasks'
|
|
include 'spring-statemachine-samples:washer'
|
|
include 'spring-statemachine-samples:zookeeper'
|
|
include 'spring-statemachine-samples:persist'
|
|
include 'spring-statemachine-samples:web'
|
|
include 'spring-statemachine-samples:scope'
|
|
include 'spring-statemachine-samples:security'
|
|
include 'spring-statemachine-samples:eventservice'
|
|
include 'spring-statemachine-samples:deploy'
|
|
include 'spring-statemachine-samples:ordershipping'
|
|
include 'spring-statemachine-samples:datajpa'
|
|
include 'spring-statemachine-samples:datajpamultipersist'
|
|
include 'spring-statemachine-samples:datapersist'
|
|
include 'spring-statemachine-samples:monitoring'
|
|
|
|
include 'spring-statemachine-data'
|
|
include 'spring-statemachine-data:jpa'
|
|
include 'spring-statemachine-data:redis'
|
|
include 'spring-statemachine-data:mongodb'
|
|
|
|
rootProject.children.find {
|
|
if (it.name == 'spring-statemachine-recipes') {
|
|
it.name = 'spring-statemachine-recipes-common'
|
|
}
|
|
if (it.name == 'spring-statemachine-samples') {
|
|
it.name = 'spring-statemachine-samples-common'
|
|
it.children.each {
|
|
it.name = 'spring-statemachine-samples-' + it.name
|
|
}
|
|
}
|
|
if (it.name == 'spring-statemachine-data') {
|
|
it.name = 'spring-statemachine-data-common'
|
|
it.children.each {
|
|
it.name = 'spring-statemachine-data-' + it.name
|
|
}
|
|
}
|
|
}
|
|
|