0

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がそのように動作する原因は何ですか?これらのエラーの発生を防ぐ方法は?

ありがとうございました、

マイケル

4

1 に答える 1

0

pax-exam-karaf もあり、構成から使用できる機能インストーラーもあります。「手動」インストールに固執したい場合は、機能サービスが事前にインストールされていることを確認する必要があります。たとえば、サービスを注入します。

于 2013-03-15T07:19:58.883 に答える