- With this change, Eclipselink support is added to SSM.
To do this, table names are modified and some primitive
types are changed to object types.
- Edited import class types.
- Now starting machine outside of a sycn block with
acquire vs. release. This should allow long running
start in a machine to allow next acquire to work faster.
- Forwardport #770
- Relates #777
- AbstractStateMachineTests to AbstractStateMachineJUnit4Tests
- StateMachineTestPlanBuilderTests to StateMachineTestPlanBuilderJUnit4Tests
- Add AbstractStateMachineJUnit5Tests and StateMachineTestPlanBuilderJUnit5Tests
- Move away from junit4 assertThat methods
- Fixes#780
- Also completes and Fixes#771
- Just a migration
- Replace RedisRule with EnabledOnRedis
- Replace MongoDbRule with EnabledOnMongoDb
- spring-statemachine-test and some docs contains refs to junit4
but those are support packages and will stay in place.
- Fixes#779
- Relates #771
- For Guard and Transition change call stach to be fully
reactive from executor. Some changed signatures similarly
what was needed for reactive Actions.
- Disabling one smoke test to get figure out later as
something is broken somewhere, possible reactor bug...
- Relates #791
- First changes to introduce ReactiveGuard similar to work done
for ReactiveAction. User level interface is ReactiveGuard but internally
it is handled as its super type Function<StateContext<S, E>, Mono<Boolean>>.
- This change still keeps some calls as blocking which will get changed
in futher commits to get a full reactive chain.
- Touching only Transition to change guard signature, other use of blocking guard
internally need to get similar changes in next commits.
- Baby steps...
- Relates #791
- remove junit4 dependecies
- refactor the unit tests by junit5
- enhance the spring-statemachine-test and spring-statemachine-build-tests so they can work together with junit4/junit5
- relates #779
- Polish previous change to AbstractState by using a shared function
completionStateListenerSink to track completion sink as functionality
between entries to submachine/regions should be similar.
- Mostly relates to #743
- This commit changes a way how triggerless transitions are executed by
going via new doOnComplete method in StateListener which returns
Mono<Void>. This used to be a simple fire and forget subscribe via listener
and now fully handled via reactive chain when state is complete. Rest of
a changes are to tweak state actions to run parallel to be able to cancel
those and then follow and track when triggerless transitions need to be
executed.
- AbstractState still have some work to do for disposing things around
submachines which currently seem to break thins if handleStateDoOnComplete
is disposed when submachine state is exited. We'll leave this to get
fixed later.
- Add tag handling for junit5 which can be set via gradle build properties
statemachineIncludeTags and statemachineExcludeTags.
- Add BlockHound to build which can be activated via gradle build
property statemachineBlockHound.
- Add org.awaitility:awaitility to various test deps.
- Mostly relates to #734