2016-07-29 8 views
0

elasticsearch(v2.3.2/Windows 7)ローカルノードを使用して、nullポインタ例外をスローしているJavaテストでインデックスを作成しています。次のようにElasticsearchローカルノードクライアントNPEがJavaテストでインデックスを作成するとき

テストコードは次のとおりです。

CreateIndexResponse response = esClient.admin().indices().prepareCreate("mytestindex") 
     .setSettings(Settings.builder() 
       .put("number_of_replicas", 0) 
       .put("number_of_shards", 1)) 
     .execute().actionGet(); 

私はesClientがスプリングによって作成され、nullではないされて確認しました。クライアントを作成するためのコードは次のとおりです。

@Bean 
public Client localElasticsearchClient() { 

    Settings settings = Settings.settingsBuilder() 
      .put("path.home", "/tmp/elasticsearch") 
      .put("path.data", "/tmp/elasticsearch") 
      .build(); 

    return NodeBuilder.nodeBuilder() 
      .local(true) 
      .settings(settings) 
      .build() 
      .client(); 

} 

スタックトレースは以下のとおりである:私はそれについて何かhereを見ましたが、それを修正する方法についての一切の情報はありませんでした

java.lang.NullPointerException 
at org.elasticsearch.action.support.master.TransportMasterNodeAction$AsyncSingleAction.<init>(TransportMasterNodeAction.java:129) 
at org.elasticsearch.action.support.master.TransportMasterNodeAction.doExecute(TransportMasterNodeAction.java:107) 
at org.elasticsearch.action.support.master.TransportMasterNodeAction.doExecute(TransportMasterNodeAction.java:51) 
at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:137) 
at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:85) 
at org.elasticsearch.client.node.NodeClient.doExecute(NodeClient.java:58) 

答えて

0

は、実は答えは暗黙のうちに、私はnode.start()メソッドを呼び出していませんでした。このlink

に与えられただっすなわち

return NodeBuilder.nodeBuilder() 
     .local(true) 
     .settings(settings) 
     .build() 
     .start() 
     .client(); 
関連する問題