- Modify so that interceptor `preStateChange` is not called
for transient states which would falsely try to i.e. persist
choice and other states with persist recipe.
- Added some tests to verify that `preStateChange` is called
only once.
- Relates to #266
- 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
- Make RepositoryGuard and RepositoryAction work exactly
like RepositoryState what comes for class structure
and how things are saved and used via populator.
- Relates to #262
- 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
- Adding ApplicationListener so that we can
consult time of last ContextRefreshedEvent and
rebuild a cache of StateMachineHandler methods.
- This implementation is a bit naive as we speak but
work for #224 will need to add better concept to work
outside of app context.
- Fixes#232
- 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
- Revert some previous changes order to define transition
error action logic in a different place. Now basically
wrapping try/catch in a dedicated action order to have
separate error action per action as is expected by a config
SPI.
- Added some tests.
- Added docs for transition error actions.
- Relates to #238
- Fixes#259
- Classic case of using == vs. equals if Strings are involved.
- In DefaultStateMachineExecutor change event comparison
from == to equals.
- Tests using enums naturally work, but some tests using Strings
had a wrong checks.
- Fixes#253
- Change so that machine id used in StateMachineFactory
can use same id in StateMachineModelFactory which now
extended with method build(String machineId).
- Polish repo and jpa classes.
- Fixes#255