GlassFIshの管理コンソールを用いてコネクションプールにJDNI名を割り当てる
プログラムの中から直接コネクションプールを呼び出すことはできません。これらのリソースはJNDIというAPIを使用して呼び出します。最近ではRMIなど使わないため、JNDIと言えばLDAPを扱うためのAPIと思っている方も多いと思います。また、外部の(当連載の例でいえばWebアプリケーションの外側)のリソースを扱うためのAPIがJNDIであるという説明もよく見かけます。こちらの定義の方がコネクションプールの場合に当てはまると思います。データベースはWebアプリケーションに従属する存在ではありません。他のWebアプリケーションを作成し、ImoshopPoolを使いたい場合もあると思います。したがって、Webアプリケーションとコネクションプールは独立した存在であることが分かります。このような意味で言えば外部のリソースということになります。さらにはマシンの境界さえ越える場合もあります。他のマシンからオブジェクトを取得したい場合、severNameプロパティーは「localhost」ではなくサーバの名称かIPアドレスを指定します。
前置きが長くなりましたが、コネクションプールをJNDI名に割り当てます。操作は簡単で[接続プール]のすぐ上にある[JDBCリソース]をクリックします。図28のようにデフォルトのJDBCリソースが表示されます。[新規]をクリックすると図29のように[新しいJDBCリソース]画面が表示されます。JNDI名に「jdbc/imoshop」と入力し、プール名はリストから作成したコネクションプールであるImoshopPoolを選択します。[了解]ボタンをクリックするとコネクションプールとJNDI名が結び付きます。
web.xml、sun-web.xmlでコネクションプールのJNDI名を指定する
図30がweb.xml、図31がsun-web.xmlです。web.xmlのresource-ref要素の内容がコネクションプールのJDNI名の指定になっています。


![図29.[新しいJDBCリソース]画面](http://cz-cdn.shoeisha.jp/static/images/article/4841/GlassFish_4_129.gif)

