gpt4 book ai didi

apache-kafka - 如何使用 Apache Apex 对 Kafka 0.9 运算符进行单元测试?

转载 作者:行者123 更新时间:2023-12-02 03:16:22 25 4
gpt4 key购买 nike

转自 users@apex.incubator.apache.org

我想使用支持 0.9 版本协议(protocol)的新 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 ..

单元测试代码是这样的:

类 CassandraEventDetailsS​​treamingApp 在下面的代码片段中扩展了 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());
}
}

最佳答案

我能够通过从 Apex-engine apex-api 的依赖部分中排除 Malhar-library 和 Malhar-contrib 的依赖来解决问题。

这使得 Malhar 的 3.3.1 孵化版本进入类路径,随后 Malhar-Kafka 库与 3.3.1 孵化版本)。

关于apache-kafka - 如何使用 Apache Apex 对 Kafka 0.9 运算符进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36797146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com