1

Fabric8 のコンテナー管理の機能を理解しようとしています。以下のシナリオは、JBossFuse で Fabric8 を使用することで実現できます。

私は単純な 2 つのバンドルを作成しました ( http://kevinboone.net/osgitest.htmlに触発されたティック、タック バンドル)。単純に Tick バンドルはパッケージをエクスポートし、Tock バンドルはそれをインポートします。つまり、Tock Bundle は Tick Bundle に依存しています。

これら 2 つのバンドルは、単一のコンテナー (JBossFuse の 1 つの子コンテナーなど) にデプロイされた場合に完全に機能します。

次に、fabric8 を使用してクラスターを作成し、そのコンテナーを Fabric Ensemble にも追加しました。

そして、2 つのプロファイルを作成しました。TickProfile には Tick バンドルが含まれ、Tock プロファイルには Tock バンドルが含まれます。

次のように、2 つの異なるコンテナーに上記の 2 つのプロファイルをデプロイしました。

ここに画像の説明を入力

次に、Tock バンドルが Tick バンドルによって公開されている Tick バンドルの依存関係を解決できないため、正しく動作しません (これらのバンドルは 2 つの異なるコンテナーにあるため)。

これは fabric8 で可能だと思っていましたが、不可能のようです。

これを達成する方法があるかどうかを誰かに教えていただければ幸いです。

ありがとう。

4

1 に答える 1

1

いいえ、これは不可能です。OSGi レベルでのパッケージのエクスポートとインポートは、JVM にバインドされています。これは、異なる JVM のバンドルが他のクラスをインポートできないことを意味します。

クラスタリングをサポートする OSGi の概念はサービスだけです。OSGi 仕様では、これを Remote Services と呼んでいます。

参照: https://wiki.eclipse.org/Tutorial:_Building_your_first_OSGi_Remote_Service

于 2015-04-29T11:18:13.267 に答える