このサンプルでは、バンドルのブループリント・ファイルでサービスを宣言する方法を示します。これにより、アプリケーション内の他のバンドルからアクセスできるようになります。この OSGi アプリケーションは、1 つの OSGi Web バンドル
からなり、そこに含まれるサーブレットが、別のバンドル・プロジェクト内にあるサービスに
アクセスします。アプリケーションは WebSphere® Application Server で実行されます。このサンプルは、OSGi アプリケーション開発ツールを使用するための概要です。
ヒント: このサンプルは、WebSphere Application Server バージョン 7.0、8.0 および 8.5 を使用して実行できます。
WebSphere Application Server バージョン 7.0 のインストールについてさらに学習したい方に: このサンプルを WebSphere
Application Server バージョン 7.0 で実行するには、Feature Pack for OSGi Applications and Java™ Persistence
API 2.0 をインストールする必要があります。フィーチャー・パックをインストールするには、以下のようにします。
- IBM® Installation Manager を開きます。
- 「インストール」をクリックします。
「パッケージのインストール」ページが開きます。
- パッケージ・リストから「IBM WebSphere Application Server バージョン 7.0 テスト環境」を選択して、「次へ」をクリックします。
- ご使用条件を読みます。使用条件の条項に同意して、「次へ」をクリックします。
- Installation Manager の指示に従って、WebSphere Application
Server バージョン 7.0 をインストールします。
- 「フィーチャー」リストで、「IBM WebSphere Application Server Version 7.0 Feature Pack for OSGi Applications and Java Persistence API 2.0」の下の「OSGi アプリケーション」を必ず選択してください。
WebSphere Application Server バージョン 8.0 のインストールについてさらに学習したい方に: このサンプルを WebSphere Application Server バージョン 8.0 上で実行するためには、次のようにしてサーバーをインストールする必要があります。
- IBM Installation Manager を開きます。
- 「インストール」をクリックします。
「パッケージのインストール」ページが開きます。
- パッケージ・リストで「IBM WebSphere Application
Server Version 8.0」を選択してから、「次へ」をクリックします。
- ご使用条件を読みます。使用条件の条項に同意して、「次へ」をクリックします。
- Installation Manager の指示に従って、WebSphere Application Server バージョン 8.0 をインストールします。
WebSphere Application Server バージョン 8.5 のインストールについてさらに学習した方に: このサンプルを WebSphere Application Server バージョン 8.5 で実行するには、サーバーをインストールする必要があります。
- IBM Installation Manager を開きます。
- 「インストール」をクリックします。
「パッケージのインストール」ページが開きます。
- パッケージ・リストで「IBM WebSphere Application
Server Version 8.5」を選択してから、「次へ」をクリックします。
- ご使用条件を読みます。使用条件の条項に同意して、「次へ」をクリックします。
- Installation Manager の指示に従って、WebSphere Application Server バージョン 8.5 をインストールします。
ご使用の OSGi Counter アプリケーションをサーバーにデプロイする方法は、以下のとおりです。
- エンタープライズ・エクスプローラーで、を展開します。
- 「CounterServlet」を右クリックして、を選択します。「サーバーで実行」ダイアログが開きます。
- サーバーのリストで「WebSphere Application Server」をクリックして、「終了」をクリックします。
ブラウザーに greet.getText()=0 Hello World! というストリングが
表示されます。ページが再ロードされるたびに、値が増加します。
「コンソール」ビューに切り替えて ()、サーバーからの出力を表示します。正常に実行された場合、ブループリント・ファイルの
CounterImpl、
GreetImpl、および
WorldImpl Bean に対する初期化メソッド入り口に基づいて、
CounterImpl.init()、
GreetImpl.init()、および
WorldImpl.init() からの出力が以下のように表示されます。
[7/21/10 11:42:18:109 EDT] 0000002f StepStartBLA A CWWMH0300I: Starting business-level application "WebSphere:blaname=CounterApp".
[7/21/10 11:42:19:421 EDT] 0000002f webapp I com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: Loading Web Module: CounterWebBundle.
[7/21/10 11:42:19:515 EDT] 0000002f WASSessionCor I SessionContextRegistry getSessionContext SESN0176I: Will create a new session context for application key default_host/CounterWebBundle
[7/21/10 11:42:19:531 EDT] 0000002f webcontainer I com.ibm.ws.wswebcontainer.VirtualHost addWebApplication SRVE0250I: Web Module CounterWebBundle has been bound to default_host[*:9080,*:80,*:9443,*:5060,*:5061,*:443].
[7/21/10 11:42:19:593 EDT] 0000002f StepStartBLA A CWWMH0196I: Business-level application "WebSphere:blaname=CounterApp" was started successfully.
[7/21/10 11:42:19:640 EDT] 0000001d SystemOut O WorldImpl.init() called.
[7/21/10 11:42:19:640 EDT] 00000032 SystemOut O CounterImpl.init() called.
[7/21/10 11:42:19:687 EDT] 00000032 SystemOut O GreetImpl.init() called.
注: CounterImpl.init()、GreetImpl.init()、
および WorldImpl.init() からの出力がコンソール出力に表示されない場合は、
アプリケーションのデプロイおよび始動時のエラー・メッセージ出力を確認し、Bean およびサービス定義に
考えられるエラーがないかブループリント・ファイルを確認します。