- new StateMachineListener method for listening all
StateContext changes in a various stages.
- StateContext now has a stage enum field telling at
which stage it is.
- Polish some classes and docs.
- Prepare tests for StateContext.
- Relates to #126, #138 and #150
- Framework to 4.2.4
- For tests, boot to 1.3.1 and embedded tomcat to 8.0.30
- Polish and re-organise gradle files
- Can now run sample boot apps in sts due to mix of
previously sts getting older tomcat version.
- Add new StateMachineContextRepository interface.
- Add new redis module having persisting support
for StateMachineContext.
- Extract kryo serializers into a new kryo module which
is then shared with zookeeper and redis modules.
- We'll add redis related tests later when we figure out
a correct pattern for integration tests.
- Fixes#110
- Add tweaks to DisposableBean.destroy() which integrates
into a lifecycle and properly closes a machine if only
destroy() is called which is a case when `session` scoped
bean is destroyed when http session is invalidated.
- Tests in SessionScopedAnnotationTests and
SessionScopedManualTests for both builder and
annotation config.
- Fixes#112
- Relates to #49
- New project spring-statemachine-test which contains public
classes to easy generic state machine testing.
- Concepts of StateMachineTestPlan and StateMachineTestPlanBuilder.
- Replaced one zk test to use this framework.
- Relates to #74
- Tasks recipe not yet fully working, need to get
this work in to be able to work with other tickets.
- Add childs to StateMachineContext
- A lot of fixes to regions concept throughout
a code base. Some of the concepts were really broken
if there were a complex recursive set of regions, etc.
- Add task executor/scheduler to StateMachineBuilder
- NOTE: not yet fully working distributed sm, this
commit is considered to be a stage 1 of further
commits on this matter.
- Preliminary concept of DistributedStateMachine,
StateMachineEnsemble and StateMachinePersist.
- New module spring-statemachine-zookeeper order to
persist state in a distributed matter.
- Refactoring concept of a state machine access to get
better internal access into a sm via functional interfaces.
- Change build to use jdk7 and change test to rely on jdk8
order to test functional lambdas.
- new zookeeper sample demonstrating distributed concepts.
- Relates t0 #35 and #34.
- No docs until things are fully implemented.
- resolves#5
- big conceptual changes to how sub-machines are handled
order to get events working with a multi-level sub states.
- added more typing throughout few interfaces to properly
pass in state context via action axecution chain.
this type change effectively caused change to most of the
classes but not that much functional change of behaviour.
- cleaning and tidy up
- resolves#3 by adding base pseudostate support
for initial state.
- doesn't yet provide full support for any other
pseudostate expect initial.
- Also added initial event which is used when
statemachine starts and activates initial state.