複数アプリケーションでJNDIリソースを共用する

Tomcat上で複数のWebアプリケーションをデプロイしている場合に、それらのアプリケーションで同一のJNDIリソース(DataSourceなど)を参照させたい時はserver.xmlのServer要素の子要素としてGlobalNamingResourcesを記述する。

<Server ...>
  <Listener .../>

<GlobalNamingResources> <!-- 共用するJNDIリソース --> <Resource name="jdbc/foo" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/foo"> ... </ResourceParams> </GlobalNamingResources>

<Context ...> ... </Context> </Server>

そして、JNDIリソースを利用したいWebアプリケーションのContext要素にResourceLink要素を記述する。

  <Context ...>
    <ResourceLink name="jdbc/foo"
                  global="jdbc/foo"
                  type="javax.sql.DataSource"/>
  </Context>

これで、global属性に指定したグローバルなJNDIリソースをname属性で指定した名前で参照することができる。The GlobalNamingResources Component

使用可能なタグ <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>