このレッスンを実行して、OSGi サンプル内に用意されているバンドルを探して、調べます。
このバージョンは、標準 Blueprint XML を使用して、eXtreme Scale プラグイン・サービスを構成します。サービス・クラスは WebSphere eXtreme Scale インターフェースである com.ibm.websphere.objectgrid.plugins.osgi.PluginServiceFactory のユーザー実装クラスです。 ユーザー実装クラスは、要求ごとに Bean を作成し、プロトタイプ・スコープの Bean と似た 動きをします。
このバージョンは、標準 Blueprint XML を使用して、eXtreme Scale プラグイン・サービスを構成します。サービス・クラスは、WebSphere eXtreme Scale 組み込みクラスである com.ibm.websphere.objectgrid.plugins.osgi.PluginServiceFactoryImpl を使用し、この組み込みクラスは BlueprintContainer サービスを使用します。標準 Blueprint XML 構成を使用して、プロトタイプ・スコープ または singleton スコープの Bean を構成できます。Bean は断片スコープとしては構成されません。
このバージョンは、Eclipse Gemini 固有の Blueprint XML を使用して、eXtreme Scale プラグイン・サービスを構成します。サービス・クラスは、WebSphere eXtreme Scale 組み込みクラスである com.ibm.websphere.objectgrid.plugins.osgi.PluginServiceFactoryImpl を使用し、この組み込みクラスは BlueprintContainer サービスを使用します。断片スコープ Bean の構成には Gemini 固有の アプローチが使用されます。 このバージョンは、スコープ値に {http://www.ibm.com/schema/objectgrid}shard を指定し、 カスタム・スコープが Gemini に認識されるようダミー属性を構成することで、myShardListener Bean を 断片スコープの Bean として構成します。こうする理由は、Eclipse の問題 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=348776) にあります。
このバージョンは、標準 Blueprint XML を使用して、eXtreme Scale プラグイン・サービスを構成します。サービス・クラスは、WebSphere eXtreme Scale 組み込みクラスである com.ibm.websphere.objectgrid.plugins.osgi.PluginServiceFactoryImpl を使用し、この組み込みクラスは BlueprintContainer サービスを使用します。標準 Blueprint XML 構成を使用して、カスタム・スコープの Bean を 構成できます。このバージョンは、スコープ値に {http://www.ibm.com/schema/objectgrid}shard を 指定することで、myShardListenerbean を断片スコープの Bean として構成します。
このバージョンは、Blueprint コンテナーを一切使用しません。このバージョンでは、サービスは OSGi サービス登録を使用して登録されます。サービス・クラスは WebSphere eXtreme Scale インターフェースである com.ibm.websphere.objectgrid.plugins.osgi.PluginServiceFactory のユーザー実装クラスです。 ユーザー実装クラスは、要求ごとに Bean を作成します。それはプロトタイプ・スコープの Bean と似た動きをします。
OSGi サンプルで提供されるバンドルを調べることで、OSGi コンテナー内で実行する 独自の実装を開発する方法がさらによくわかります。