PaxExamを使用してKarafでCXFRESTサービスをテストしています。ほとんどの場合、テストは私のマシンで問題なく実行されます。Jenkins(Mavenビルドの下)で実行すると、通常は失敗します。失敗はランダムで予測できないようです。失敗中に私が受け取るエラーは、Karafコマンドを実行しようとする試みを扱っています。コマンドは、次のスニペットによって実行されます。
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コマンドのさまざまなテストでランダムに発生します。私のマシンでは、マシンに負荷がかかっている場合に発生する可能性が高くなります。
Karafがそのように動作する原因は何ですか?これらのエラーの発生を防ぐ方法は?
ありがとうございました、
マイケル