1

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 にあるために発生します。この問題を解決するには?

4

1 に答える 1

2

私は回答を得ました: 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 ランタイムによって提供されるオペレーター クラスパスは、文書化されているようにオペレーター API、Apache 共通数学、JSON4J、および Apache log4j に限定されます。

于 2016-12-19T08:00:43.487 に答える