2016-12-16 2 views
1

Ich verwende IBM Streams 4.1.1 ich nicht Elasticsearch Client in meinem Java-Operator verwenden kann, weil sie transitive Abhängigkeit Guave-18.0 libIbm Ströme Java Operator Classloading Ausgabe

<groupId>org.elasticsearch</groupId> 
<artifactId>elasticsearch</artifactId> 
<version>2.3.2</version> 

hat Wenn ich einreichen Mein Job Ich sehe NoSuchMethodError: com/google/common/util/concurrent/MoreExecutors.demerExecutor

Es passiert, weil IBM Strom in ext/lib Guava-14 hat. Wie kann ich dieses Problem lösen?

Antwort

2

bekam ich die asnwer: https://developer.ibm.com/answers/questions/332772/java-operator-classloader-issue.html

Das in IBM Streams 4.2 festgelegt ist.

Die Streams Laufzeit enthält jetzt nur die dokumentierten Gläser in den Klassenlader für den Bediener zur Verfügung (zusätzlich zu einem der Bediener gibt):

Operator API and samples 
Apache Log4j 
Apache Common Math 
JSON4J 

hat dieses Problem in IBM behoben Streams 4.2, so dass Der Operator-Klassenpfad, der von der Stream-Laufzeit bereitgestellt wird, ist auf den Operator apis, Apache common math, JSON4J und Apache log4j wie dokumentiert beschränkt.