0
我使用Pax考試在卡拉夫測試CXF REST服務。測試幾乎總是在我的機器上順利運行。在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
顯然有時卡拉夫不能正確啓動,無法處理這些命令。像這樣的錯誤在不同的卡拉夫命令的不同測試中隨機發生。在我的機器上,如果機器處於負載下,它們更有可能發生。
什麼可能導致卡拉夫以這種方式表現?如何防止這些錯誤發生?
謝謝
邁克爾
我在pax-exam-karaf功能安裝程序中遇到了問題,所以我使用pax-exam-karaf進行手動功能安裝。您是否在說我可以等待功能服務並使用該服務安裝新功能,而不是使用CommandProcessor服務執行命令? – jdgilday 2013-03-15 12:51:20
是的,這也可以實現:) – 2013-03-15 13:26:38
你與pax-exam-karaf功能安裝程序有什麼樣的問題,它通常像一個魅力。卡拉夫本身也在測試它。 – 2013-03-15 13:27:19