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

Resources