从重新发布users@apex.incubator.apache.org
我想使用支持0.9版本协议的新kafka操作符运行一个单元测试代码。
在这个过程中,我包括了malhar kafka库版本(3.3.1-incubating),并使用apex引擎(3.3.0版)和as测试/提供。
编译工作正常,但我的单元测试无法正常运行,出现“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());
}
}
1条答案
按热度按时间e5nqia271#
我能够通过从apex引擎apex api的依赖部分中排除malhar库和malhar contrib的依赖来解决这个问题。
这使得malhar的3.3.1孵化版本进入了类路径,随后是malharkafka库(3.3.1孵化版本)。