3

これが少し具体的であることは知っていますが、考えられることはすべて試しました。pax-exam を使用していくつかの統合テストを実行していますが、ロギングには pax-logging を使用することになっています。

これは、felix コンテナーを直接実行している場合は問題なく動作しますが、pax-exam を使用して開始すると、pax-logging は構成されません ( bundles.configuration.locationvm プロパティがないため、 を見つけることができませんservices/org.ops4j.pax.logging.properties)。

これを設定しようとしているが、うまくいかないように見える方法は、次を使用することです。

@Configuration
public Option[] configuration() throws IOException {
    Option[] options = new Option[]{
        vmOption("-Dbundles.configuration.location=mypath)
    }
    return options;
}

アドバイスをいただければ幸いです。どうもありがとう!

4

1 に答える 1

5

役立つかもしれないいくつかの発言:

  1. Pax Logging は、Pax Exam によってプロビジョニングされたデフォルトのログ ソリューションですが、市販の SLF4J と logback などのバックエンドを使用してオーバーライドできます。詳細については、この記事を参照してください。これはずっと使いやすいと思います。

  2. bundles.configuration.locationこのプロパティの対象となるバンドルまたはサービスがわかりません。これは、Pax Exam によって自動的にプロビジョニングされないPax ConfMan のように見えるため、自分で処理しない限り、このプロパティが影響を与えないことは驚くことではありません。

  3. Pax Exam オプションでシステム プロパティを設定する推奨される (ただし機能的には同等の) 方法は、次のとおりですsystemProperty("foo").value("bar")

于 2012-08-18T07:44:47.233 に答える