- Add new repository model for storing StateMachineContext
via a new StateMachineRepository.
- New StateMachineRuntimePersister interface to abstract needed
functionality to do a runtime machine persistence.
- As runtime persistence, as of now, is done via interceptors, define
JpaRepositoryStateMachinePersist and JpaPersistingStateMachineInterceptor
to define StateMachineRuntimePersister logic.
- Add new datajpapersist sample demonstrating new concepts.
- Keep tests related to jpa as there's not redis/mongo integration
implemented in this first iteration.
- As this is going to be WIP until features around this issues
are completed, docs, etc are not yet added. Also, interfaces and impls
are subject to change during a process.
- Relates to #423
- Relates to #426
- Relates to #427
- Quick fix to get something out from
new boot 2.x metrics.
- Change source to java 8 compat
- Add new micrometer deps to build
- Docs and further changes will get done
when new boot metric system completes.
- Fixes#410
- This is a preliminary work.
- New monitoring and tracing conceps around StateMachineMonitor.
- Adds hooks internally to better calculate transition times.
- Add new annotation configurer for monitors.
- New boot module which autoconfigures monitoring for boot's metrics
and trancing repos.
- New monitoring sample.
- Relates to #149
- Refactor so that we can create RepositoryState in one place
and then reference to it from JpaRepositoryTransition impls.
- New common top class BaseRepositoryEntity for entities
- Change RepositoryState and RepositoryTransition to be abstract
classes instead of interfaces.
- New custom StateMachineJackson2RepositoryPopulatorFactoryBean and
StateMachineJackson2ResourceReader handling json refs.
- Relates to #262
- Align related spring train deps
- Modify some other deps to get correct versions
- Some testing changes as boot 1.4.1 shuffled some
test stuff around.
- Fixed deprecations with newer boot and framework
- Fixes#256
- Initial infra for config abstraction with
Spring Data Repositories via RepositoryStateMachineModelFactory.
- Initial jpa impl.
- Initial jpa sample atop of H2 DB.
- Relates to #250
- New module spring-statemachine-cluster which is
based on spring-cloud-cluster to provide leader
election.
- Ensemble now has a concept of a leader if implementation
supports it.
- New DistributedLeaderAction can use leader info to execute
action only on a leader.
- Tweak web sample with these new concepts.
- Fixes#176
- Add new features around Trigger to arm/disarm
it so that state entry/exit can stop firing
TimerTrigger. Default functionality for timer(long)
still stays same, however timerOnce(long) will
kick this new functionality where trigger will fire
once after state has been entered.
- Fixes#165
- New sample app eventservice which is used to
demonstrate how redis is used as a repository
for StateMachineContext.
- Uses pooled request scope machine instances so
that with every request a machine is reseted from
a redis.
- Provides UI to play around.
- Provides rest endpoint to send 'pageview' events
for processing. For example using curl command like:
curl http://localhost:8080/feed -H "Content-Type: application/json" --data '{"user":"joe","id":"VIEW_I"}'
- Fixes#160
- 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.
- Remove most of a static class modifiers from docs
to make things easier if doing copy/paste. Not
all can be removed because some spring inner
config classes has to be static.
- Fixes#123
- Add logging of internal transitions which makes things
a bit more clear with showcase sample.
- Update showcase docs with clarification of use of
nested states.