2012-03-28 5 views
0

OSGIサービス間の動的依存関係を管理するために、サービスバインダーバンドルがhereに導入されました。このサービスは、OSGIプラットフォームで必要なサービスの可用性を制御し、バンドル・コンポーネント記述子に記述されている可用性とバインディング・ポリシーに従ってサービス間のバインディングを確立します。これにより、必要なサービスが利用できない場合に、バンドルのアクティベーションがカスタマイズされます。 このようなサービスは、乙女座で提供されていますか?または、乙女座にサービスバインダーを追加して適応させる必要がありますか?EclipseのOSGIサービスバインダーVirgo

ありがとうございました。

+0

Blueprintを使用してサービスの依存関係を管理しない理由は何ですか? –

+0

バンドルを開始するとき、Virgoがすべての依存関係を見つけることができない場合、そのバンドルを開始できませんでした。サービスの依存関係の解決が必ずしも必須ではないように、その動作をカスタマイズする必要があります。私は、このようなものが他のOSGiの実装上に存在することを知っています。 –

+0

青写真のメタデータでオプションのサービスをマークすると、あなたにとって魅力的ですか?青写真を使用すると、既にVirgoにあるものを利用することができ、Blueprintはサービスの依存関係を管理する非常に堅牢な方法です。 –

答えて

1

サービスバインダーはVirgoでは提供されていませんが(Hollyが示唆するように)、必要な種類の要件を満たすいくつかのOSGi標準代替品があります。 2つの標準には、バンドル内のメタデータでサービスとサービス参照を宣言することが含まれます:青写真と宣言的サービス。これらは、OSGi仕様書およびOSGiに関するさまざまな出版物に記載されています。

OSGi Blueprintは、2012年中旬にVirgo 3.5.0に含まれているGemini Blueprintコンポーネントによって実装されています。Virgoの以前のバージョンには、Blueprint標準をもたらした技術であるSpring DM 1.2.1が含まれていました。以前のバージョンでは、Spring DMを直接使用することができます.Blueprintで提供されているものとは少し異なり、Springのような構文で提供されるものとほぼ同じですが、Gemini BlueprintをVirgoに追加することもできます技術をアップ)。

OSGi宣言型サービスは別の代替方法であり、これはVirgo 3.0に含まれています。実際、サービスバインダーは宣言型サービスのインスピレーションでした。

関連する問題