2017-03-14 7 views
1

私は今までステートマシンで良い進歩を遂げました。私の最近の問題は、私がフォークを使用したいときに発生しました(私はUMLを使用しています)。フォークはそれが意図されているので動作しませんでした。私は赤ちゃんに私のマシンを保持します。下の画像を参照してください。春のStatemachineフォーク

enter image description here

管理-コマンドはサブマシン参照であり、そのままでは上部領域がどこにあるか。これは私のトップレベルのマシンです。

ここで、私は下の地域からレディスでいくつかの状態を維持し、次にONLINEイベントが来ると、マシンはイベントを受け入れません。キー。 2つのリージョンを永続化して、いずれかのイベントがイベントに応じて選択されるようにします。 これを達成する方法はありますか?以下は

は私が1.2.xで固定の永続性を持つ他のいくつかの問題を発見したとして、それは少し奇妙だ、私は

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; 
} 
+0

あなたは永続性をどのようにしているかもう少し詳しくお聞かせください。つまり、あなたが使っているコードの例と、使っているクラスは何ですか? –

+0

私はあなたの参照のためのコードで私の質問を編集しました –

+0

うーん、私はまた、これらの深い状態で赤くなったもので奇妙な何かを参照してください。レミーはもう少し深く突っ込んだ。 –

答えて

0

を復元nは存続する方法です。おそらくあなたの問題には関係していませんが、私はあなたに似たようなエラーが見られるはずです。とにかくRedisPersistTests.javaをチェックして、あなたがやっていることとは違ったことがあるかどうか確認してください。私はまだサブマシンのリファレンスを試していませんでしたが、永続性の観点から何の違いもないはずです。

+0

こんにちは、UMLを使ってアクションにパラメータを渡す方法はありますか? –

+0

もう少し詳しく説明してください。達成しようとしていることは何ですか? –

関連する問題