問題タブ [pax-exam]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hibernate - PaxExam / OSGI コンテナー内での JPA/Hibernate の使用
Christian Schneider のチュートリアルに従って、JPA/Hibernate を機能させることに成功しました。 データベース+アクセス
ただし、これには「次の内容の etc/org.ops4j.datasource-tasklist.cfg という名前のファイル」の作成が含まれます。
これは、OSGI コンテナーを使用して PaxExam を実行している場合には明らかに機能しません。
さらに、blueprint.xml ファイルまたは persistence.xml ファイルに環境固有のデータ ソース パラメーターを追加したくはありません。コードを別の環境で実行すると、後でこれらのファイルを変更する必要が生じるからです。
そのため、JUnit/PaxExam によって呼び出されるテスト クラス内から、config() メソッド内または他の場所のいずれかにデータ ソースをスピンアップする方法が必要ですか?
質問は次のとおりです。
- 上記の Christian のチュートリアルからの抜粋で定義されたパラメーター (例: dataSourceName=person) を使用して、PaxExam によってインスタンス化された OSGI コンテナー内で定義される新しいデータ ソースをどのようにスピンアップしますか?
- これには、テスト クラスの機能強化が含まれますか。
- それとも、OSGI コンテナーに追加されるスタンドアロン ファイルでデータ ソース定義を作成する方がよいでしょうか?
いくつかのプロジェクトの詳細、私のテストクラスは次のように与えられます:
blueprint.xml ファイルは次のとおりです。
persistence.xml ファイルは次のとおりです。
テスト プロジェクトの pom.xml ファイルは次のとおりです。
pax-exam - --definitionURL を使用して pax-exam を構成する
Dmytro Pishchukhin のブログから、pax-exam のランナー
@Configuration
public static Option[] configurePlatform() {
return options(
...
rawPaxRunnerOption("--definitionURL", "file:platform-equinox-3.6M7.xml")
);
}
が次の方法でプラットフォーム定義を含む拡張 xml から構成できることを知りrawPaxRunnerOption
ました。最近、この定義をロードする方法はありますか? ( Pax Runner Docsのドキュメント) は更新されていないようです。
osgi - karaf paxexam 構成でリポジトリ URL を指定する方法
以下のコードは、この場所http://repository.apache.org/content/groups/snapshots-group/から機能で定義された成果物をインストールしようとし ます。ダウンロードしてインストールするための別のリポジトリの場所を提供する方法があります。
上記のコードを現在実行すると、以下のエラーが発生します
java - OSGI 統合テスト用の log4J による Pax 試験ロギング
Felix 5.4.0 を使用して、ネイティブ コンテナー内で pax 試験 4.8.0 との統合テストをセットアップしようとしています。私の最初の jUnit テストは問題なく実行されます。問題はログです。ログの構成を変更できません。これは非常に面倒です。(コンテナのロギングについて話していることに注意してください-ドライバの構成は問題ありません。問題は、OSGIコンテナ内で実行されるものにのみ関係します)。
公式ドキュメントでは、log4j が slf4j API (私の場合) を介して送信されたすべてのログを取得できるように、すべてを設定する必要があることを意味しています。しかし、log4j.properties ファイルまたは同等のファイルを指定する方法については何も述べていません。
私が無駄にしようとしたこと:
- ファイルをさまざまな場所に配置します(クラスローディングルート、META-INF、...)
- ConfigurationAdmin API を使用して @Before メソッド内で実行時に構成を設定する
- さまざまな org.ops4j.pax.logging アーティファクトを構成に追加する
- org/ops4j/pax/logging.config を含むディレクトリを指す felix.cm.dir プロパティを指定します (org.apache.felix.configadmin バンドルが使用されます)。ConfigurationAdmin は、ファイルが PID org.ops4j.pax.logging でロードされていることを確認しますが、まだシュガーはありません。
いずれの場合も、構成は無視されます (これは、偽の構成を提供することで証明できます - エラーは発生しません)。
誰かが jUnit + PAX + log4j.properties をセットアップしてくれるでしょうか? ありがとう。
osgi - Karaf Pax 試験が不明なプロトコルで失敗する: wrap
こんにちは私の pax 試験はエラー Unknown protocol: wrap で失敗します
このエラーは、karaf のバージョンを 3.03 から 4.04 に変更したときに発生し始めました。
osgi - Karaf はバンドル コンテキストからサービス オブジェクト/参照を取得します
Karaf バージョン 3.0.3 では、以下のコードを使用して ServiceReference オブジェクトを取得できました
しかし、Karaf 4 では、このコードは null を返します。サービスが開始されました サービス一覧にサービスが表示されました。
注: ラップされたバンドルとしてロードされたサービスを取得しようとしています
osgi - Karaf paxexam をカスタムの場所に向ける
こんにちは、paxexam karaf をカスタムの場所、つまりファイル システムの karaf インストールにポイントする方法はありますか
上記のコードは、代わりに maven リポジトリの zip を指していますが、ファイル システムのローカルの karaf フォルダーを指すことはできますか?