- 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.
- Generally fixes#68
- First attempt to externalize event execution from state machine
into its own class backed by an interface. This relates to #7
- Change of various places to have better support if execution
is done in threads.
- Not yet a central place where concurrency can be defines, thus
currently rely on global taskExecutor bean when can be overridded
from a default which is SyncTaskExecutor. Futher work for
that in separate tickets.
- Change tasks sample to use a thread pool.
- Change of concept how initial state/transition is handled, no
longer handled manually in lifecycle method, thus giving a change
for initial transition to execute its actions in a multiple threads.
- Tweaking to keep correct statemachine ref around
so that StateContext passed to actions can be
used to send events within submachines.
- This was missed due to missing test and i.e. cdplayer
should transition into playing state directly via
and event sent from action which when closed is
checking if cd is inserted.
- Fixes#33
- Big conceptual changes how state transitions
are handled which now allows more easy ways
to figure out what to do and where to go.
- Exposing more info via State interface
- Adding tests to samples
- Fixes#30