Ich arbeite an einem Projekt mit Apache Camel und Elasticsearch und ich frage mich, welche Version von Elasticsearch Camel unterstützt?Apache Camel Integration mit Elasticsearch
Mein pom.xml sieht wie folgt aus:
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>2.18.2</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-elasticsearch</artifactId>
<version>2.18.2</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-xmljson</artifactId>
<version>2.18.2</version>
</dependency>
<dependency>
<groupId>xom</groupId>
<artifactId>xom</artifactId>
<version>1.2.5</version>
</dependency>
Aber wenn ich zu routen wollen, eine Datei Elasticsearch, habe ich folgende Fehlermeldung bekommen:
java.lang.IllegalStateException: Received message from unsupported version: [2.0.0] minimal compatible version is: [5.0.0]
I festgestellt, dass diese Ausnahme auf einen Knoten oder einen TransportClient mit einer alten Version zurückzuführen ist. Also versuche ich, die Elasticsearch Abhängigkeit hinzuzufügen:
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>5.1.2</version>
</dependency>
Aber es gibt mir einen neuen Fehler:
Exception in thread "main" java.lang.NoClassDefFoundError: org/elasticsearch/action/WriteConsistencyLevel
Also ich frage mich .. Welche Version von ES kann ich mit Apache Camel verwenden?
Der Code für den Versuch, Daten zu senden an Elasticsearch:
XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
from("file://C:/Projects/?fileName=data.xml&charset=utf-8")
.marshal(xmlJsonFormat)
.to("elasticsearch://clusterES?transportAddresses=127.0.0.1:9300&operation=BULK_INDEX&indexName=xml&indexType=account");
das Problem gelöst ein ES-Server 2.4.3 unter Verwendung! – Cylon