users@apex.incubator.apache.org からの再投稿
バージョン 0.9 プロトコルをサポートする新しい Kafka Operator を使用して単体テスト コードを実行したいと考えています。
このプロセスでは、Malhar-Kafka ライブラリ バージョン ( 3.3.1-incubating ) を含め、Apex エンジン (バージョン 3.3.0 ) をテスト/提供として使用しています。
コンパイルは正常に動作しますが、" java.lang.ClassNotFoundException: com.datatorrent.lib.util.KryoCloneUtils" 例外で単体テストが正しく実行されません。
Apex エンジンと統合された Kafka 0.9 オペレーターを使用する単体テストを実行するための推奨される方法は何ですか? Malhar-contrib ライブラリーの Kafka オペレーターは 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());
}
}