問題タブ [apache-felix]
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.
maven-2 - pom.xml で Maven プラグインを使用して pax-run
ファイルで指定できるMaven Pluginを使用してPax-Runnerタスクを実行するにはどうすればよいですか?pom.xml
つまり、Pax-Runner を使用してコマンドラインで次のことを実行できます (war ファイルを OSGi バンドルに変換するため)。
pom.xml ファイルでそれを実現するにはどうすればよいですか?
前もって感謝します!
java - OSGIhost jar (自体) を DS に登録するにはどうすればよいですか?
フェリックスを起動し、「宣言型サービス」バンドルにサービスを公開できるアプリケーションを作成しようとしています。しかし、私の「felix-starter」とサービスは事実上同じ瓶の中にあります。
私はosgi-host(Felix)とその他の両方を含むjarを想定しています。services には、'DS' に提供/要求されるサービスを記述した xml ファイルが含まれている必要があります。しかし、その XML をプログラムで DS バンドルにフィードすることが可能かどうかはわかりません (jar は webstart などによって既に読み込まれているため、ClassLoader が構成されています)。
それは何らかの形で可能ですか、それとも厄介なことになるでしょうか?
ありがとう
osgi - Felix 'pref' バンドルには 'log version >=1.3' が必要ですが、D/L 'log' bundle version = 1.0
Felix のダウンロード ページには、Log bundle version 1.0.0 と表示されます Preferences bundle version 1.0.2
ただし、設定にはログバンドルのバージョン >= 1.3 が必要です
「設定」がどのように機能するかを理解したいだけなので、ログ互換のバンドルは大歓迎です:)
よろしく。
java - mangenはマニフェストに「Bundle-ManifestVersion:1」を追加しますが、felixは値1を受け入れないようです
'Mangen'を使用してjarを処理しましたが、これは機能しますが、マニフェストに次の行が追加されます
その後、Felix1.8.0は次のように文句を言います
バージョンを手動で2に変更すると、Felixはエラーなしでインストールされます。ただし、マニフェストにすでにBundle-ManifestVersion:2が含まれている場合でも、mangenはそれを1に変更します。
どんなアイデアでも大歓迎です
java - NetbeansのOSGi、サービスを取得するときのClassCastException
ClassLoaderの問題が発生しています。私はかなりosgiの初心者なので、うまくいけば答えはそれほど難しくありません:)
コンパイルライブラリとランタイムライブラリに関係していると思います。 Netbeans 6.7.1プロジェクトのプロパティでは、コンパイル時のライブラリは常に他のカテゴリに伝播されるため、そこで区別することはできません。
FelixHostをコンパイルするとき、次のjarファイルが使用されます
- Felix.jar
- osgi-core.jar
- osgi-compendium.jar
- osgi.service.obr-1.0.2.jar
ただし、実行時に、フレームワークはOBRの実装をロードします。このOBRバンドルには、インターフェイス定義も含まれています。これがclassCastExceptionがある理由だと思います。
実際、FelixHostをOBRと連携させて、初期プロビジョニングを実行したいと考えています。
どんなアイデアでも大歓迎です。
jpa - OSGi 環境では、クラスパスとクラスローダーはどのように設定されていますか?
OSGi でのクラスの可視性について混乱しています。Apache Felix を実行しており、次のバンドルをロードしています。
- 、
antlr
、asm
およびeclipselinkjpa
のバンドルcore
javax.persistence
1.99用の OSGi-fied jarcom.mysql.jdbc
ドライバーを含む OSGi-fied jar- 注釈付きのエンティティ クラスと
persistence.xml
- 呼び出す私自身の別のバンドル
Persistence.createEntityManagerFactory(String, Map)
さて、私が混乱しているのは、どのバンドルが MySQL ドライバーを認識できる必要があるかということです。これは EntityManagerFactory を作成するバンドルだと思っていましたが、そのマニフェストにインポートすると ClassNotFound エラーが発生します。jpa
次に、eclipselinkバンドルのマニフェストからインポートしようとしましたが、やはり失敗しました。永続化ユニット (エンティティ クラスおよびpersistence.xml
) を含むバンドルのマニフェストからインポートした場合にのみ機能します。
そのため、PU のバンドルのクラスローダによってデータベース ドライバが検索されているように見えますが、それは私には意味がありません。どうしたの?
これに関する簡単なドキュメントが見つからないようです。これらのスライドはいくつかのヒントを提供しますが、完全に網羅しているわけではありません。
java - 私自身の瓶のマニフェストを読む
Manifest
クラスを配信したファイルを読み取る必要がありますが、使用する場合:
MANIFEST
最初.jar
にJavaランタイムにロードされたものから取得します。
私のアプリはアプレットまたはWebスタートから実行される
ため、自分の.jar
ファイルにアクセスできないと思います。
私は実際にFelixOSGiを開始したExport-package
属性を読み取りたい.jar
ので、それらのパッケージをFelixに公開できます。何か案は?
web-applications - Web アプリケーションを Apache Felix にデプロイするにはどうすればよいですか?
どのバンドルをインストールする必要がありますか? 少なくとも、これは Jetty などのサーブレット コンテナー/Web サーバーである必要がありますが、基本的なorg.apache.felix.http.jetty
バンドルで対応できますか、それとも他のバンドルで を検出するために他に必要なものはありweb.xml
ますか?
webapp を標準の WAR に入れ、OSGi ヘッダーを追加すれば完了ですか? または、OSGi 環境に必要な webapp 固有のヘッダーはありますか?
他にどのような構成を行う必要がありますか?
Maven を使用してこれらのステップを自動化するオプションは何ですか?
バンドルをデプロイしようとしましたorg.apache.felix.http.jetty
が、Jetty が localhost:8080 で 404 と応答します。次に、静的な HTML ファイルだけをwelcome-file
. 私が知る限り、Jetty はデプロイメント記述子にさえ気付かず、少なくともテスト Web アプリケーションを Felix にデプロイしても何も変わりません。
osgi - OSGi: Apache Felix と Apache Karaf の違いは何ですか?
Apache KarafはApache Felixのサブプロジェクトです。「軽量 OSGi コンテナ」として定義されています。
いつヘビーウェイトを使うべきか、いつライトウェイトを使うべきかわかりません。彼らのサイトはこれについてあまり説明していません。
java - コードからApacheFelixを起動して使用するにはどうすればよいですか?
コードからApacheFelixの起動と使用 に関する情報が見つかりません。
Apache Felixのシェルでできる(またはできない;))ことをしたい。
たとえば、モジュールを開始するにはどうすればよいですか?
助けてください。