Spring 弹簧机叉

Spring 弹簧机叉,spring,state-machine,spring-statemachine,Spring,State Machine,Spring Statemachine,到目前为止,我在使用状态机方面取得了很好的进展。我最近的一个问题出现在我想使用fork时(我使用的是UML)。叉子并没有像它所支持的那样工作,我想这是因为它的坚持。我把我的机器放在redis上。请参阅下图 这是我的顶级机器,其中Manage命令是子机器引用,顶级区域是原样 现在假设我在redis中保留了某个状态,从下面的区域开始,然后出现一个在线事件,那么机器不接受该事件,显然是因为我已要求机器使用给定的密钥从redis恢复状态。 但是我希望这两个区域都被持久化,以便根据事件选择其中一个。 有

到目前为止,我在使用状态机方面取得了很好的进展。我最近的一个问题出现在我想使用fork时(我使用的是UML)。叉子并没有像它所支持的那样工作,我想这是因为它的坚持。我把我的机器放在redis上。请参阅下图

这是我的顶级机器,其中Manage命令是子机器引用,顶级区域是原样

现在假设我在redis中保留了某个状态,从下面的区域开始,然后出现一个在线事件,那么机器不接受该事件,显然是因为我已要求机器使用给定的密钥从redis恢复状态。 但是我希望这两个区域都被持久化,以便根据事件选择其中一个。 有没有办法做到这一点

下面是我如何坚持恢复

private void feedMachine(StateMachine<String, String> stateMachine, String user, GenericMessage<String> event)
        throws Exception {
    stateMachine.sendEvent(event);
    System.out.println("persist machine --- > state :" + stateMachine.getState().toString());
    redisStateMachinePersister.persist(stateMachine, "testprefixSw:" + user);
}

private StateMachine<String, String> resetStateMachineFromStore(StateMachine<String, String> stateMachine,
        String user) throws Exception {

    StateMachine<String, String> machine = redisStateMachinePersister.restore(stateMachine, "testprefixSw:" + user);
    System.out.println("restore machine --- > state :" + machine.getState().toString());
    return machine;
}
private void feedMachine(状态机状态机、字符串用户、GenericMessage事件)
抛出异常{
stateMachine.sendEvent(事件);
System.out.println(“持久化机器-->state:+stateMachine.getState().toString());
persist(stateMachine,“testprefixSw:+user”);
}
专用StateMachine resetStateMachineFromStore(StateMachine StateMachine,
字符串(用户)引发异常{
StateMachine=RedistateMachinePersister.restore(StateMachine,“testprefixSw:+用户);
System.out.println(“还原机器-->state:+machine.getState().toString());
返回机;
}

这有点奇怪,因为我在
1.2.x
中发现了一些关于持久性的其他问题。可能与您的问题无关,但我希望您会看到类似的错误。不管怎样,你能检查一下,看看你在做什么有什么不同吗。我还没有尝试子机引用,但从持久性的角度来看,我不应该有任何区别。

这有点奇怪,因为我发现了一些我在
1.2.x
中修复的其他持久性问题。可能与您的问题无关,但我希望您会看到类似的错误。不管怎样,你能检查一下,看看你在做什么有什么不同吗。我还没有尝试子机器引用,但从持久性的角度来看,我不应该有任何区别。

您介意再告诉我一点您是如何进行持久性的吗?i、 你基于哪一个示例代码,使用哪一个类?我用代码编辑了我的问题,供你参考。嗯,我还看到redis在这些深层状态下有一些奇怪的东西。让我再深入一点。好的,当然,我很想听到你的消息。你介意多告诉我一点你是怎么做的吗?i、 你基于哪一个示例代码,使用哪一个类?我用代码编辑了我的问题,供你参考。嗯,我还看到redis在这些深层状态下有一些奇怪的东西。Lemmy再深入一点。好的,当然,我会更渴望听到uHi的消息,有没有办法我可以用UML将参数传递给一个动作,你能更具体一点吗。你想完成什么?嗨,有没有办法我可以用UMLCould把一个参数传递给一个动作,你可以说得更具体一点。你想完成什么?