Ibm流Java运算符类加载问题

时间:2016-12-16 14:22:42

标签: java infosphere-spl

我正在使用IBM Streams 4.1.1 我不能在我的Java运算符中使用Elasticsearch客户端,因为它具有传递依赖性guava-18.0 lib

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

当我提交作业时,我看到NoSuchMethodError:com / google / common / util / concurrent / MoreExecutors.derectExecutor

之所以发生这种情况是因为IBM流已经在ext / lib guava-14中。如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

我得到了asnwer: https://developer.ibm.com/answers/questions/332772/java-operator-classloader-issue.html

这在IBM Streams 4.2中得到修复。

Streams运行时现在只包含运算符可用的类加载器中记录的jar(除了运算符指定的任何内容):

Operator API and samples
Apache Log4j
Apache Common Math
JSON4J

,此问题已在IBM Streams 4.2中修复,因此Streams运行时提供的运算符类路径仅限于运算符apis,Apache常用数学,JSON4J和Apache log4j。