Spring Statemachine
Spring Statemachine aims to provide the following features:
- easy to use flat one-level state machine for simple use cases
- hierarchical state machine structure to ease complex state configuration
- state machine regions to provide even more complex state configurations
- usage of triggers, transitions, guards, and actions
- type-safe configuration adapter
- builder pattern for easy instantiation for use outside of the Spring Application context
- recipes for usual use cases
- distributed state machine based on a Zookeeper
- state machine event listeners
- UML Eclipse Papyrus modeling
- store machine config in a persistent storage
- spring IoC integration to associate beans with a state machine