2016-04-22 6 views
3

Repost from [email protected]Как скомпилировать тестовый оператор Kafka 0.9 с Apache Apex?

Я хотел бы запустить единичный тестовый код с использованием нового оператора Kafka, который поддерживает протокол версии 0.9.

В этом процессе я включил библиотечную версию Malhar-Kafka (3.3.1-инкубация) и использую Apex-engine (версия 3.3.0) с помощью теста/предоставленного.

Компиляция отлично работает, но мои модульные тесты не работают должным образом с исключением «java.lang.ClassNotFoundException: com.datatorrent.lib.util.KryoCloneUtils».

Каков рекомендуемый способ запуска единичного теста, в котором используется оператор Kafka 0.9, интегрированный с двигателем Apex? Я предполагаю, что библиотека Malhar-вно Кафка оператор не соответствует 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

Я был в состоянии решить эту проблему, за исключением зависимостей Malhar-библиотеку и Malhar-вно из разделов зависимости Apex-двигатель, апекс-апи.

Это сделало 3.3.1-инкубационную версию удара Malhar в путь класса, а затем библиотеку Malhar-Kafka с версии 3.3.1-инкубации).