Spring Statemachine - Reference Documentation

Authors

Janne Valkealahti

1.0.2.RC1

Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically.


Table of Contents

Preface
I. Introduction
1. Background
2. Usage Scenarios
II. Getting started
3. System Requirements
4. Modules
5. Using Gradle
6. Using Maven
7. Developing your first Spring Statemachine application
III. Using Spring Statemachine
8. Statemachine Configuration
8.1. Using enable annotations
8.2. Configuring States
8.3. Configuring Hierarchical States
8.4. Configuring Regions
8.5. Configuring Transitions
8.6. Configuring Guards
8.7. Configuring Actions
8.8. Configuring Pseudo States
8.8.1. Initial State
8.8.2. Terminate State
8.8.3. History State
8.8.4. Choice State
8.8.5. Fork State
8.8.6. Join State
8.9. Configuring Common Settings
9. State Machine Factories
9.1. Factory via Adapter
9.1.1. Adapter Factory Limitations
9.2. State Machine via Builder
10. Using Deferred Events
11. Using Scopes
12. Using Actions
12.1. SpEL Expressions with Actions
13. Using Guards
13.1. SpEL Expressions with Guards
14. Using Extended State
15. Using StateContext
16. Triggering Transitions
16.1. EventTrigger
16.2. TimerTrigger
17. Listening State Machine Events
17.1. Application Context Events
17.2. State Machine Listener
17.3. Limitations and Problems
18. Context Integration
18.1. Annotation Support
19. State Machine Accessor
20. State Machine Interceptor
21. State Machine Error Handling
22. Persisting State Machine
23. Using Distributed States
23.1. ZookeeperStateMachineEnsemble
24. Testing Support
IV. Recipes
25. Persist
26. Tasks
V. State Machine Examples
27. Turnstile
28. Showcase
29. CD Player
30. Tasks
31. Washer
32. Persist
33. Zookeeper
34. Web
VI. FAQ
35. State Changes
36. Extented State
VII. Appendices
A. Support Content
A.1. Classes Used in This Document
B. State Machine Concepts
B.1. Quick Example
B.2. Glossary
B.3. A State Machines Crash Course
B.3.1. States
B.3.2. Pseudo States
Initial
End
Choice
History
Fork
Join
B.3.3. Guard Conditions
B.3.4. Events
B.3.5. Transitions
Internal Transition
External vs. Local Transition
B.3.6. Actions
B.3.7. Hierarchical State Machines
B.3.8. Regions
C. Distributed State Machine Technical Paper
C.1. Abstract
C.2. Intro
C.3. Generic Concepts
C.4. ZookeeperStateMachinePersist
C.5. ZookeeperStateMachineEnsemble
C.6. Distributed Tolerance
C.6.1. Isolated Events
C.6.2. Parallel Events
C.6.3. Concurrent Extended State Variable Changes
C.6.4. Partition Tolerance
C.6.5. Crash and Join Tolerance