hekailiang / squirrel

squirrel-foundation is a State Machine library, which provided a lightweight, easy use, type safe and programmable state machine implementation for Java.
http://hekailiang.github.io/squirrel/
Other
2.19k stars 540 forks source link

[Transition exception] To state same as From state if transition is not defined on defined event #133

Open codeShaurya opened 2 years ago

codeShaurya commented 2 years ago

I started using squirrel in my project last month, and I noticed a weird behaviour. I understood the behaviour but still want to know its root cause.

Defined Transition in State Machine:

@Transit(from = "a", to = "b", on = "test", callMethod = "moveShipment"), @Transit(from = "a", to = "c", on = "test", callMethod = "moveShipment"),

When I called state machine with intinal state "b" and event was "test" then it showed me an error like this:


Error while processing requestorg.squirrelframework.foundation.exception.TransitionException: 00010017 : Transition from 'b' to 'b' on 'test' with context 

I want to know how did it pick the "To" State, which is the same as "From" state; event transition in the state machine is not defined. Here I am firing the same event.