2016-05-07 13 views
0

以下は、spring-statemachine-core-1.0.2.RELEASE-sources.jarを使用している1つのクラスプロジェクトです。これは、ある状態から別の状態への簡単な移行を実装しています。 currentstateでnullポインタ例外を咳しています。AbstractStateMachine.acceptEventメソッド。感謝しています。AbstractStateMachine.acceptEventメソッドでNullPointerExceptionエラーが発生しました

マニュアルビルダー機でorg.springframework.statemachine.support.AbstractStateMachine.acceptEvent(AbstractStateMachine.java:591)でjava.lang.NullPointerExceptionが

import java.util.Arrays; 
import java.util.HashSet; 

import org.springframework.statemachine.StateMachine; 
import org.springframework.statemachine.config.StateMachineBuilder; 
import org.springframework.statemachine.config.StateMachineBuilder.Builder; 

public class Processor { 

public static void main(String[] args) throws Exception { 

     Builder<String, String> builder = StateMachineBuilder.builder(); 

     builder.configureStates() 
      .withStates() 
       .initial("INIT").end("END") 
       .states(new HashSet<String>(Arrays.asList("INIT","MIDDLE","END"))); 

     builder.configureTransitions() 
     .withExternal() 
     .source("INIT").target("MIDDLE").event("START") 
     .and() 
     .withExternal() 
     .source("MIDDLE").target("END"); 

     builder.configureConfiguration().withConfiguration().autoStartup(true); 

     StateMachine<String, String> stateMachine = builder.build(); 
     stateMachine.start();    
     stateMachine.sendEvent("START"); 
     stateMachine.stop(); 

     } 
    } 

答えて

0

はいデフォルトtaskExecutorを得ることはありません。これはすでにmasterと1.0.xのブランチで修正されていますが、まだ1.0.3をリリースしていません。回避策は手動で設定することです:

builder 
    .configureConfiguration() 
     .withConfiguration() 
      .taskExecutor(new SyncTaskExecutor()) 
      .autoStartup(true); 
関連する問題