- Focus of this commit is to have modern gradle build.
- Migrate most of a plugin configurations from dsl
into buildSrc.
- This fixes issues with existing docs build.
- Allows to sign files so that we have that part
done for central in a build.
- We can skip publishing samples.
- We're able to share similar logic for modules
which are meant for publish or just being samples.
- It's easier to upgrade gradle versions without
getting various build issues.
- Relates #1143
- 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.
- AbstractStateMachineTests to AbstractStateMachineJUnit4Tests
- StateMachineTestPlanBuilderTests to StateMachineTestPlanBuilderJUnit4Tests
- Add AbstractStateMachineJUnit5Tests and StateMachineTestPlanBuilderJUnit5Tests
- Move away from junit4 assertThat methods
- Fixes#780
- Also completes and Fixes#771
- Just a migration
- Replace RedisRule with EnabledOnRedis
- Replace MongoDbRule with EnabledOnMongoDb
- spring-statemachine-test and some docs contains refs to junit4
but those are support packages and will stay in place.
- Fixes#779
- Relates #771
- 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
- Modify existing JPA entity classes to
have a fixed names for constraints and
foreign key. Also name used tables so that
we don't get crazy long names which are
causing issues with some DB's
- Fixes#468
- Fixes#469
- 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
- Fix wrong acquire logic in DefaultStatemachineService.
- Overhaul StateMachineRuntimePersister
- Change StateMachineRuntimePersister to extend
StateMachinePersist which should work better on
a bean level. Also add generic type T to it and
config where needed.
- Relates to #432
- Relates to #427
- 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