-1

OSGI コンテナ内で複数のサービス レジストリを使用することはできますか? トランザクションのような方法でそれらを切り替えたい

4

1 に答える 1

1

依存関係とモジュール間の相互作用を規制するフレームワークの中核である OSGi Service Registry のことですか? それとも外部の、場合によってはリモートのサービス レジストリ (SOAP、.NET Web サービスなど) のことですか?

OSGi Service Registry のことを意味している場合、それは不可能です。OSGi Service Registry は、フレームワークのコア機能の一部です。OSGi サービス (さまざまなインターフェースを実装するオブジェクト) を介して行われる、モジュール (バンドル) 間のデータの共有を担当します。これは、パッケージの依存関係の処理、OSGI セキュリティ、およびその他のコア機能と緊密に統合されており、各バンドルのシステム オブジェクト BundleContext を介してアクセスできます。それをオーバーライドまたは拡張する可能性はありません。たとえあったとしても、多くの理由でフレームワークに大混乱を引き起こす可能性があります。たとえば、ConfigurationAdmin のように複製すべきではないシングルトン サービスがあります。

ただし、Web サービス (ま​​たは OSGi コアの外部にある他の種類のサービス) のレジストリを意味する場合は、可能です。実際、これらのタイプのレジストリーは、OSGi にもサービスとして登録される可能性が高く、それらを選択したり切り替えたりすることができます。

于 2012-11-13T16:09:09.150 に答える