spring-projects / spring-statemachine

Spring Statemachine is a framework for application developers to use state machine concepts with Spring.
1.54k stars 607 forks source link

Active development? #1081

Closed trks1970 closed 11 months ago

trks1970 commented 1 year ago

Hi!

Is the project being actively developed? We are just starting a project (Spring3) and are evaluating if spring-state-machine would be an option for us. (Or if we take the burden of moving it to spring3/Java 17)

mehmetsalgar commented 1 year ago

Ok, first I have to say, I have no direct affiliation with Spring State Machine development or with the company, so please take what I say here with certain grain of salt.

My feeling about SSM, it is now a maintenance project and not too many activities occurring for further developing it but beside that, if you are interested using State Machine paradigm, you should really consider SSM fits to your business problem or not.

SSM is great, for ex, controlling lifecycle of an automat, with states like STARTING, STARTED, SHUTTING_DOWN, ERROR_MODE, MAINTENANCE, etc, but in my opinion it is not that well suited for modelling millions of shopping charts, hotel reservations, etc because I think it's persistence model is too naive and has no concept for business model or state machine model evolution / change, which will certainly happen in any real life scenario.

If you are planning to use model a similar to the automat mentioned above, SSM is great for it and just use it.

If you are planning to have millions of instances of the state machine, I strongly advice you to evaluate other frameworks.

I have a blog post exactly discussing these points may be it can help you, specially the part about State Machine, Event and Schema Evolution must be interesting while SSM ignore these topics totally.

XhstormR commented 1 year ago

So it is currently not compatible with Spring Boot 3?

andreas-schilling commented 11 months ago

PR has been merged, but no release yet: https://github.com/spring-projects/spring-statemachine/pull/1104

jvalkeal commented 11 months ago

Apologies that it has taken too much time to start work on 4.x. We try to go through this process relatively quickly and get supported version for boot 3 out. I'd recommend to follow updates to 4.x.x milestones.