2013-03-14 2 views
0

Я тестирую службы RX CXF в Карафе, используя экзамен Pax. Тесты почти всегда выполняются без сучка на моей машине. Когда они запускаются в Jenkins (при сборке Maven), они обычно терпят неудачу. Ошибки кажутся случайными и непредсказуемыми. Ошибка, которую я получаю во время сбоя, связана с попыткой выполнить команду Karaf. Команды выполняются с помощью следующего фрагмента кода:Тесты на экзамен Pax иногда случаются

def byteArrayOutputStream = new ByteArrayOutputStream(); 
    def printStream = new PrintStream(byteArrayOutputStream); 
    CommandProcessor commandProcessor = getOsgiService(CommandProcessor.class); 
    CommandSession commandSession = commandProcessor.createSession(System.in, printStream, System.err); 
    commandSession.put("APPLICATION", System.getProperty("karaf.name", "root")); 
    commandSession.put("USER", "karaf"); 
    commandSession.execute(command) 

Эти команды, которые я пытаюсь выполнить в методе установки испытания:

'features:addurl mvn:org.apache.cxf.karaf/apache-cxf/2.7.2/xml/features', 'features:install http', 'features:install cxf' 

Это исключение:

org.apache.felix.gogo.runtime.CommandNotFoundException: Command not found: features:addurl

По-видимому, иногда Karaf не запускается правильно и не может обрабатывать эти команды. Ошибка, подобная этой, случается случайным образом в разных тестах по различным командам Karaf. На моей машине они более вероятны, если машина находится под нагрузкой.

Что может заставить Карафа вести себя таким образом? Как предотвратить эти ошибки?

Спасибо,

Майкла

ответ

0

Существует также чела-экзамен-karaf, он также имеет инсталлятор функции, которая пригодная из конфигурации. Если вы хотите придерживаться «ручной» установки, вы должны убедиться, что служба функций установлена ​​заранее. Например, пусть услуга будет введена.

+0

У меня возникли проблемы с установщиком функций pax-exam-karaf, поэтому я использую pax-exam-karaf с ручной установкой функций. Вы хотите сказать, что я могу дождаться службы функций и использовать службу для установки новых функций вместо выполнения команд с помощью службы CommandProcessor? – jdgilday

+0

Да, это также может быть достигнуто :) –

+0

Какие проблемы у вас есть с установщиком функций pax-exam-karaf, он обычно работает как шарм. Сам Караф испытывает это. –