我正在使用Elasticsearch版本2.4.4。 然後我創造的測試案例ESIntegTestCase衍生,是這樣的:從ESIntegTestCase拋出的NullPointerException
public class ELSTest extends ESIntegTestCase {
@Override
protected Settings nodeSettings (int nodeOrdinal) {
return Settings.builder().put(super.nodeSettings(nodeOrdinal))
.put(super.nodeSettings(nodeOrdinal))
.put(IndexMetaData.SETTING_NUMBER_OF_SHARDS, 1)
.put(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, 1)
.put(Node.HTTP_ENABLED, true)
.build();
}
@BeforeClass
public void setup() throws Exception {
createIndex("idx"); // line 57
ensureGreen("idx");
}
}
解決「罐子地獄」的問題和閱讀一堆網頁約ESIntegTestCase我得到了新的後。
java.lang.NullPointerException
at org.elasticsearch.test.ESIntegTestCase.client(ESIntegTestCase.java:657)
at org.elasticsearch.test.ESIntegTestCase.client(ESIntegTestCase.java:650)
at org.elasticsearch.test.ESIntegTestCase.prepareCreate(ESIntegTestCase.java:763)
at com.company.ELSTest.setup(ELSTest.java:57)
可能是什麼原因呢?我的意思是ESIntegTestCase類拋出NPE的行:
Client client = cluster().client();
看起來好像羣集沒有初始化。什麼是適當的非常基本的課程設置,在測試中開始elasticsearch?