問題タブ [osgi-fragment]
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.
osgi - OSGiフラグメント:Eclipseプラグインのバグにパッチを適用する
OSGiフラグメントについて聞いた後、私は疑問に思いました:
フラグメントを使用してパッチを挿入できますか?つまり、既存の署名付きバンドル内の既存のクラスを置き換えることはできますか?
それを行う方法のドキュメントはありますか?
eclipse - Bndでosgiフラグメントを作成するには?
今日は、bndTools for Eclipse の内部を詳しく調べました。私は良いスタートを切りましたが、 bndTools またはbndを使用して osgi フラグメントを作成できるかどうかを自問します。bnd プロジェクトの説明から、Fragment-Hostヘッダーが bnd によって無視されることがわかりますが、これが何を意味するのかはわかりません。
bndでosgiフラグメントを作成できるかどうか、誰かが知っていますか?もしそうなら、それを行う方法は?
よろしくマーカス
osgi - テスト バンドル フラグメントからホストのインスタンス メソッド/プロパティにアクセスするにはどうすればよいですか?
ブループリント インジェクションによって満たされたいくつかのプロパティを持つバンドル test.Bundle1 があります。
ホストが test.Bundle1 である 1 つのテスト フラグメントを作成しました。これらのプロパティにアクセスするために myClassA のインスタンス化されたシングルトンを取得したいと考えています。
FrameworkUtil.getBundle() を使用してクラス名からバンドルにアクセスできることは知っていますが、このクラスのインスタンスを取得する方法がわかりません。
どうすればそれができますか?
ありがとう
クリスティアーノ
osgi - OSGiフラグメントは他のフラグメントをホストとして持つことができますか?
これは合法ですか?
MANIFEST.MF for org.fragment1
(org.host
は通常のバンドルであり、フラグメントではありません):
MANIFEST.MF for org.fragment2
:
またはorg.fragment2
代わりに持っている必要があります
?
osgi - フラグメントからの制約がホストと競合します
Fragment-Hostを使用して、バンドルBからバンドルAのインポートを拡張しようとしています。バンドルBIには次の行があります:Fragment-Host:バンドルBのImport-Packageに、バンドルAに必要なインポートを追加しました
マニフェストでバンドルBを更新して開始しようとすると、「フラグメントからの制約がホストと競合します」というエラーが発生します。ただし、バンドルAIのマニフェストを調べると、すべてのインポートのリストがバンドルBに存在します。これらのインポートが存在しない場合に競合する理由を確認してください
また、OSGiコンテナーで両方のバンドルの1つのバージョンのみを実行していること、および更新後にコンテナーを再起動しようとしたことにも言及する価値があります。
マニフェストをバンドルする:
バンドルBマニフェスト:
何か案は...?
osgi - OSGI:各バンドルのクラスローダーにアクセスせずに、バンドルによってエクスポートされたクラスをロードするようにフレームワークに依頼しますか?
わかった。したがって、次の方法でプログラムで作成した org.osgi.framework.launch.Framework があります。
私がやりたいことは、インストールされたバンドルをスキャンし、それらの Export-Package: 宣言を読み取り、クラスの packageName に基づいて正しいバンドルの loadClass メソッドを呼び出すユニバーサル loadClass メソッドを (このクラスのメソッドとして) 持つことです。パラメーターとして渡しています。
これを行うスマートな方法はありますか?または、これを行う方が良いですか:
サービスを使用して、バンドルに利用可能なサービスを公開させ、フレームワークに getAllServiceReferences() を使用してサービスをクエリさせることができますが、これはプログラマーにとってより多くの作業であり、宣言型サービスのルートに行きたいかどうかはわかりません。
osgi - フラグメントをインストールするには、ホストを更新する必要があります。これを回避するにはどうすればよいですか?
私は 2 つのバンドルを持っています: バンドル A と、以下を使用してバンドル A のフラグメントとして構成されているバンドル B: Fragment-Host:
バンドル B をインストールするたびに、起動 (INSTALLED) に失敗するため、そのフィールドをバンドル A にアタッチできません。
この時点でバンドル A のステータスを確認すると、バンドル B がまだフラグメントとして認識されていないことがわかります。
バンドル A を更新すると、問題が解決します。バンドル B は RESOLVED に切り替わり、バンドル A にアタッチできます。バンドル A はバンドル B をそのフラグメントとして認識し、すべてが期待どおりに機能します。
私の質問は、この更新をどのように回避できるかということです。つまり、バンドル B がインストールされるとすぐに、既にアクティブになっているホストにアタッチする必要があります。
ありがとうございました。
osgi - 他のフラグメントへのフラグメントの依存関係
フラグメント A と B のホストであるプラグインがあります。フラグメント A から Export-Package ヘッダーを使用してパッケージをエクスポートします。うまくいけば、Import-Package ヘッダーを使用してフラグメント B にそのパッケージをインポートできます。しかし、PDE は、依存関係が解決されていないと報告しています。このシナリオを使用することはまったく可能ですか? 次の投稿http://www.eclipse.org/forums/index.php/t/238204/は、それが正しいことを確認しています。
どんな助けでも大歓迎です。
ありがとうございます。それでは、お元気で、
セティア
java - フラグメント内のコンポーネントはアクティブ化されません
OSGi宣言型サービスを使用してフラグメント内にコンポーネントを作成すると、このコンポーネントはアクティブ化されませんが、ホストバンドル内のコンポーネントはアクティブ化されます。私は何かが足りないのですか?私のフラグメントにはmeta-inf
、ホストバンドルのシンボリック名の適切なファイルエントリがあります。
私はこのようにコンポーネントを宣言します
maven - OSGi での「必要に応じてインポートされたパッケージが見つからない」問題を解決する方法
「maven-bundle-plugin」を使用してOSGiバンドルを作成しました(「jruby-complete-1.4.0.jar」をosgiバンドルとして作成しようとしています。依存関係のみが「jruby-complete-1.4.0.jar」であることに注意してください"..diag コマンド (#diag XX) を使用して osgi コンソール経由でバンドルを確認すると、いくつかのパッケージが見つからないと表示されます。
私のポンはこんな感じです。
<Import-Package>
それで、 pom [2]のように「オプションの不足しているパッケージ」をオプションに追加しようとしましたが、次のような問題がさらに発生します。
pom.xml [2];
上記の問題をどのように克服できますか?他のバンドルに必要ないくつかのパッケージをエクスポートしています...ここで何か間違ったことをしていますか?