- 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.
- Relates #833
- Relates #834
- Make kryo in AbstractKryoStateMachineSerialisationService aware of same classloader
most likely use in an app. This takes away some of those weird kryo
errors you see with a web apps.
- Add context references concept to StateMachineContext which can be used
to store reference id and then individual running machines with regions
can independently store their states. Whole machine state can then get
restored more accurately.
- Add new `region(String id)` to StateConfigurer which can be used to set region id.
This is equivalent as setting region id with json based machine structure where
you need to define region id's with orthogonal regions are in use.
- Add new datajpamultipersist sample showing running regions and how those are
persisted to a database.
- Fixes#617
- Fixes#605
- Fixes#615
- Move away from thread local in favour of using
kryo pooling.
- New interface StateMachineSerialisationService
with KryoStateMachineSerialisationService.
- Try to work via constructors for instead of full blown
configuration as it looks like this may give enough
for users to customise.
- Relates to #437
- 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
- 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
- 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
- Initial infra for config abstraction with
Spring Data Repositories via RepositoryStateMachineModelFactory.
- Initial jpa impl.
- Initial jpa sample atop of H2 DB.
- Relates to #250