0
次のコードは、私にNPEを投げます。何がうまくいかないのか分かりません。 currentStateを初期化するコードが見つかりません。誰でも助けることができますか?Builderを使用している場合、AbstractStateMachine.java:591のNullPointerException
public class TestSMApplication {
StateMachine<String, String> buildMachine1() throws Exception {
Builder<String, String> builder = StateMachineBuilder.builder();
builder.configureConfiguration().withConfiguration()
.listener(listener());
builder.configureStates()
.withStates()
.initial("OPEN")
.end("CLOSED")
.states(new HashSet<String>(Arrays.asList("OPEN", "PROGRESS",
"CLOSED")));
builder.configureTransitions().withExternal().source("OPEN")
.target("PROGRESS").event("RUN").and().withExternal()
.source("OPEN").target("TERMINATE").event("STOP");
StateMachine<String, String> sm = builder.build();
return sm;
}
public org.springframework.statemachine.listener.StateMachineListener<String, String> listener() {
return new StateMachineListenerAdapter<String, String>() {
@Override
public void stateChanged(State<String, String> from,
State<String, String> to) {
System.out.println("State change to " + to.getId());
}
};
}
public static void main(String[] args) throws Exception {
TestSMApplication tsm = new TestSMApplication();
StateMachine<String, String> m1 = tsm.buildMachine1();
m1.start();
m1.sendEvent(Events.PROCESSING_SUCCEEDED.name());
}
}
私が使用している: org.springframework.statemachine:春 - ステートマシンコア:1.1.0.M2
おかげフレディ
NPEの位置は、591行目がresetStateMachine関数内にあり、コードでそのメソッドが実行されることはありません。 –