Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 31 14:32
    filip-majernik commented #627
  • Jan 31 14:30
    filip-majernik commented #627
  • Jan 31 12:51
    jvalkeal commented #627
  • Jan 31 00:29
  • Jan 29 22:38
  • Jan 29 15:04
  • Jan 29 14:10

    spring-buildmaster on v2.1.0.RC1

    (compare)

  • Jan 29 14:10

    spring-buildmaster on 2.1.0.RC1

    Release version 2.1.0.RC1 (compare)

  • Jan 29 14:04

    jvalkeal on master

    Update changelog (compare)

  • Jan 26 17:44
  • Jan 26 14:37
    jvalkeal commented #628
  • Jan 26 14:36
    jvalkeal closed #628
  • Jan 26 14:36

    jvalkeal on master

    Make equals work in DefaultStat… (compare)

  • Jan 26 14:31
    jvalkeal milestoned #628
  • Jan 25 16:36
    don-vip commented #626
  • Jan 25 16:36
    don-vip closed #626
  • Jan 25 14:51
    jvalkeal closed #625
  • Jan 25 14:51

    jvalkeal on master

    Upgrade to kryo 4.0.2 - Fixes … (compare)

  • Jan 25 14:49
    jvalkeal milestoned #625
  • Jan 25 14:49
    jvalkeal commented #625
solanki vaibhav
@solankivaibhav_gitlab
@geercode yes it works.
Michael Fuchs
@theexiile1305
Hi there,
I'm starting to implement a tool in order to generate a state machine diagram. Before diving further, i found a nice implementation of generating png with the graphviz toolchain, but unfortunately this requires a lot of dependencies (starting js v8 engine and visualitzion only with js). Is there an existing project, which do that stuff?
Corneil du Plessis
@corneil
@theexiile1305 plantuml is worth a look.
Michael Fuchs
@theexiile1305
@corneil thanks
Michael Fuchs
@theexiile1305
The mehtod org.springframework.statemachine.region.Region#getTransitions() gives me all transitions associated with a state machine change back. What does a state machine change mean? Whats about transitions, like State A -> PseudoState (Choice) B -> State C and PseudoState (Choice) B -> State D ?
Aliaksandr Parfianiuk
@frombrest
Hi all,
Could you help me... I want to use runtime persister for my state machine, and I want that it persist changing states from internal regions of state machine. is it real ?
Davide
@jesty
Good morning, I'm looking about some solution to execute a Task in a cluster environment. I need to avoid that multiple nodes handle the timer past due at the same time and I also need to assure that the code will be executed, also if the node that schedule the timer die. I need to do that using a Spring TaskScheduler implementation because I'm using Spring State Machine that already use it.
I'm looking to Quartz but the main issue is that I haven't a SQL database, I have only Cassandra and Zookeeper. I also give a look to ShedLock, but I think that this will resolve only the lock issue and it doesn't assure the timer handle.
Aliaksandr Parfianiuk
@frombrest
Hi everyone, dose state machine have any mechanisms for collection garbage from Redis instance? For example when I have a lot old persisted state machine contexts?
Davide
@jesty
@frombrest I have two action, 1) I set an expiration time on the statemachine on Redis 2) I remove the closed statemachine.
Hi all, there is some way to retrieve a StateMachineConfig instance in my code?
now I'm using StateMachineFactory to retrieve an "empty" StateMachine in order to analyze the config in my code.
execc
@execc

Hi, guys.
I have a problem with 'globally' exiting forked state machine. I'm modeling an approval process with two parties involved. So, at the top level I have three four states:

INIT -> APPROVING -> APPROVED
              \-> REJECTED

So far so good.
Now, an approval process actually involves two parties with slightly different workflows. Also, it can be done in parallel. So I create two regions inside APPROVING state, modeling approval process with two parties. I fork into it, and join before going to APPROVED state. It works perfectly.
Now, I'm stuck at the following. If ANY of the parties at any time REJECTS an approval - the whole state machine should immediately go to 'global' REJECTED state without any further actions. How should I model it with Spring State Machine?

Gabriel Popovici
@popovici.gabriel_gitlab
hi folks; i am evaluating State Machine by looking & running/debuging available samples; i took sample "datapersist" to understand how the "state saving" works under the hood; and I have a question regarding state machine; i am puzzled on where can i see previously stored states? i am only seeing current state but previous states are not in DB at all ?
image.png
wondering if previous states of current machine are stored in Db as history/audit smth ? much appreciated ?
Aliaksandr Parfianiuk
@frombrest

Hello everyone! Guys I just want to clarify...
Statement from official guide about Using Distributed States is still actual?:
https://docs.spring.io/spring-statemachine/docs/2.1.4.BUILD-SNAPSHOT/reference/#sm-distributed

Distributed state functionality is still a preview feature and is not yet considered to be stable in this particular release. We expect this feature to mature towards its first official release.

Burak Helvacı
@burakhelvaci
@jvalkeal will you add reactive supported StateMachineInterceptor, StateMachineMonitor and StateMachineListener or these are always return blocking type(void, Message<E>, ...). I have started to convert my statemachine based project to reactive-statemachine in parallel to your reactive changes. So if you have such a idea in mind, I can convert my things around these classes. Also, maybe I can contribute for reactive support.
Burak Helvacı
@burakhelvaci
@frombrest for collection garbage from Redis; I am using actor based statemachine. Every actor has own stateMachineContext and I put every actor’s stateMachineContext to redis. If actor enters end/final state, I removed stateMachineContext from redis. And I’m doing this work by overriding StateMachineInterceptorAdapter#preStateChange method.
Navid Ghahremani
@ghahramani
Guys, do you have any link for using State Machine with Webflux?
michelfigueiredojava
@michelfigueiredojava
Guys, please any good example about using state machine with multi entities ? I found some examples but not working from end to end.
Navid Ghahremani
@ghahramani
@burakhelvaci so it is not reactive under the hood, the sample is just wrapping it in reactive form in controller
Burak Helvacı
@burakhelvaci
@ghahramani if I understand correctly, you write about spring-statemachine. Bu this sample uses spring-statemachine 3.0. So it’s reactive.
Navid Ghahremani
@ghahramani
@burakhelvaci As I understood from this https://github.com/spring-projects/spring-statemachine/blob/master/spring-statemachine-samples/turnstilereactive/src/main/java/demo/turnstilereactive/StateMachineController.java#L44
It is not reactive built in like Spring Boot and Spring 5, you need to wrap the result yourself, so you are making blocking call under non-blocking wrapper class. Am I wrong?
Burak Helvacı
@burakhelvaci

@ghahramani for Line:44 yes this blocking code that wrapping with Mono.defer. But this blocking code is not expensive operation. So it’s not problem. But you are right this is not real non-blocking code block.

But if your are notice this code block:
https://github.com/spring-projects/spring-statemachine/blob/master/spring-statemachine-samples/turnstilereactive/src/main/java/demo/turnstilereactive/StateMachineController.java#L50

this is real non-blocking area

Navid Ghahremani
@ghahramani
@burakhelvaci you are right, thanks for the link and the info
Burak Helvacı
@burakhelvaci
@ghahramani also reactive spring-statemachine extremely unstable now as @jvalkeal wrote at README.md :)
Burak Helvacı
@burakhelvaci
Hi @jvalkeal Did you stop development about spring-statemachine:3.0
Davide
@jesty
Hi everyone! I'm playing with fork/join, but I have an issue. I woul like to have many children state machines all equals and I don't want to re-define the sub-statemachines with different states and events, like you are doing in Task example. How can I do that? Thanks!
Janne Valkealahti
@jvalkeal
3.x dev has just been a bit slow. Think I'm trying to get first milestone out next week and then starting to ramp up dev as boot is getting closer to release.
sakella1986
@sakella1986
@jvalkeal Can SSM support human tasks? are there any examples?
Davide
@jesty
Hi @jvalkeal, congratulation for you are doing with SSM and Reactor. I have a question. I'm looking the code and I'm interested in how the actions are executed. What class I have to see? Moreover, I think that the execution order of the action isn't deterministic, is it right? Thanks!
Gabriel Popovici
@popovici.gabriel_gitlab
hey folks; wondering if anyone thought about these differences ? BPM (workflows) and State Machines? I am trying to convince an audience there are alternatives to heavy BPM engines (activiti, camunda) out there such as Spring State Machine ? any thoughts ? any wiki/online pages that studies this kindly appreciated!
Davide
@jesty
Hi Gabriel, in the past I wrote this analysis:
State machine and workflow are very similar. Both are basically a “workflow”, but they are basically the same thing based on different principle.
Workflows are predictable and more static. They utilize the rules and conditions we provide at the beginning to progress a process forward. The workflow is in control of the process. A state machine is driven by external events to its completion. We define the states and required transitions between those states, triggered by events.
State machine are simple to understand because they are based on three main concept: state, transition and event. Workflow are based on various patterns (http://www.workflowpatterns.com), anyway the patterns can be implemented inside a state machine action.
While workflow use BPMN, a well-known standard, state machine doesn’t use a modelling standard because it simplicity doesn’t need it. This means that state machine are more developer oriented, while workflow try to be more business oriented.
Davide
@jesty
@popovici.gabriel_gitlab I hope that this answer can help you
Gabriel Popovici
@popovici.gabriel_gitlab
@jesty : thank you very much ! yes indeed !
Mark Anderson
@manderson23
Is there a target release date for a SSM 3 compatible with SB 2.2?
Gabriel Popovici
@popovici.gabriel_gitlab
hey folks ; wondering why this is not working
can you cause transition inside an Action ?
say you are implementing an action and you decide to cause a transition like context.getStateMachine().send...
i am noticing this is returning false
Gabriel Popovici
@popovici.gabriel_gitlab
do I always need to cause transitions outside of the Actions/Guards/etc ?
much appreciated
Gabriel Popovici
@popovici.gabriel_gitlab
wondering if I have to enable something extra on an application build with SSM; I am using JpaPersistingStateMachineInterceptor with H2 ; i am only seeing the table STATE_MACHINE gettting updated with information; why the others table are not filled in as expected ; do i need to to add something ; much appreciated
image.png
nicoulaj
@nicoulaj
Hi guys, I was wondering if SSM is scalable to several thousands of (simple) state machines in parallel ?