J2EEアプリケーションサーバ「Apache Geronimo」の魅力に迫ってきた本連載もいよいよ今回で最終回となる。今回は、RoGの実現を通して、GBeanの原理をより深く理解してほしい。
本連載の第3回、第4回で解説した知識が補強できたところで実際に手を動かし、挙動を確かめてみましょう。環境構築に関しては本連載の第1回、第2回のほか、サンプルファイルに添付したreadme.txtを参考にしてください。
準備ができたら、geronimo-startup.batを使ってGeronimoを起動してください。DLLを利用しているので、このバッチを利用します。そして、サンプルをrubyGBean.plan、helloGBean.plan、sample.entarprize.earの順にデプロイします。
http://localhost:8080/sample.web/HelloServletにアクセスし、テキストボックスに「山田たろ〜」と入力してみましょう。「Result: Hello!! 山田たろ〜」となれば、アクセス成功です(図1)。
図2に示したように2つのコンフィギュアとEARとは依存関係があります。「configure/helloGBean」をstopするとどうなるか、またsample.enterprize/sample.enterprizeをstartしようとするとどうなるか、試してみましょう(図3)。依存関係に従って動作していることがお分かりいただけるかと思います。さらに余力があれば、開発環境を構築し*、geronimo-applicatino.xml/geronimo-web.xmlからparentIDを削除して、再度sample.enterprize.earをデプロイしてみましょう。その挙動の違いも分かると思います(図4)。
この挙動の違いが現れるのは、コンフィギュアとクラスローダー*が対応しているためです。この仕組みによってGBean同士の実装が互いに影響しないようになります。特にアプリケーション間で共通に使用するJARのバージョンに違いがある場合などでその真価を発揮します。ちなみにconfigure/rubyGBeanを登録する際にJARファイルの登録はしませんでした。その訳はgeronimo-startup.batで
Copyright © ITmedia, Inc. All Rights Reserved.