再投稿[email protected]Apache Apexでカフカ0.9オペレータをテストする方法は?
0.9バージョンプロトコルをサポートする新しいカフカオペレータを使用してユニットテストコードを実行したいと思います。
このプロセスでは、Malhar-Kafkaライブラリバージョン(3.3.1インキュベーション)が含まれており、Apexエンジン(バージョン3.3.0)をテストとして提供しています。
コンパイルは正常に動作しますが、「java.lang.ClassNotFoundException:com.datatorrent.lib.util.KryoCloneUtils」の例外を除いて、私のユニットテストが正しく実行されません。
Apexエンジンと統合されたKafka 0.9オペレータを使用する単体テストを実行するには、どのような方法が推奨されますか?私はMalhar-contribのライブラリカフカのオペレーターが対応していない0.9であると仮定しています。..
ユニットテストコードは次のようである:
クラスCassandraEventDetailsStreamingAppは、コードの以下のスニペットでAbstractKafkaInputOperatorを拡張します。
例外はlma.getController();メソッドで発生します。
@Test
public void testApplication() throws IOException, Exception {
try {
LocalMode lma = LocalMode.newInstance();
Configuration conf = new Configuration(false);
conf.addResource(this.getClass().getResourceAsStream("/dag-test-props.xml"));
lma.prepareDAG(new CassandraEventDetailsStreamingApp(), conf);
LocalMode.Controller lc = lma.getController();
lc.run();
} catch (ConstraintViolationException e) {
Assert.fail("constraint violations: " + e.getConstraintViolations());
}
}