Given the following server.xml  snipplet (functional), we'd like to move
the jdbc/entitlement to the host element using a GlobalNamingResource
(see bottom for example one of many attempts).. Can someone shed some
light on how to accomplish this so all my contexts within a HOST element
have access to the JNDI naming resource?  I get errors when obtaining a
Connection, not when looking up the JNDI resource name.
 
      <Host className="org.apache.catalina.core.StandardHost"
appBase="webapps" autoDeploy="true"
configClass="org.apache.catalina.startup.ContextConfig"
contextClass="org.apache.catalina.core.StandardContext" debug="0"
deployXML="true"
errorReportValveClass="org.apache.catalina.valves.ErrorReportValve"
liveDeploy="true"
mapperClass="org.apache.catalina.core.StandardHostMapper"
name="localhost" unpackWARs="true">

<!-- Snip some other contexts -->

        <Context cachingAllowed="true" debug="1"
docBase="Entitlement.war" path="/Entitlement" privileged="false"
reloadable="true">
          <Logger className="org.apache.catalina.logger.FileLogger"
debug="1" directory="logs" prefix="localhost_onejax_log." suffix=".txt"
timestamp="true" verbosity="1"/>
 
   <Resource name="jdbc/entitlement" scope="Shareable"
type="javax.sql.DataSource"/>
           <ResourceParams name="jdbc/entitlement">
             <parameter>
               <name>factory</name>
 
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
             </parameter>
             <parameter>
               <name>username</name>
               <value>username</value>
             </parameter>
             <parameter>
               <name>password</name>
               <value>password</value>
             </parameter>
             <parameter>
               <name>driverClassName</name>
               <value>org.postgresql.Driver</value>
             </parameter>
             <parameter>
               <name>url</name>
 
<value>jdbc:postgresql://somehost/somedatabase?autoReconnect=true</value
>
             </parameter>
           </ResourceParams>
          </Context>
 
        <Logger className="org.apache.catalina.logger.FileLogger"
debug="0" directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true" verbosity="1"/>
      </Host>
 
------------------------------------------------------------------------
-----------------
 
Would like it to be moved to the Host element so it is available to
multiple contexts like this, but the contexts no longer have access to
the jdbc pool:
 
      <Host className="org.apache.catalina.core.StandardHost"
appBase="webapps" autoDeploy="true"
configClass="org.apache.catalina.startup.ContextConfig"
contextClass="org.apache.catalina.core.StandardContext" debug="0"
deployXML="true"
errorReportValveClass="org.apache.catalina.valves.ErrorReportValve"
liveDeploy="true"
mapperClass="org.apache.catalina.core.StandardHostMapper"
name="localhost" unpackWARs="true">
    <GlobalNamingResource>
       <Resource name="jdbc/entitlement" scope="Shareable"
type="javax.sql.DataSource"/>
           <ResourceParams name="jdbc/entitlement">
             <parameter>
               <name>factory</name>
 
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
             </parameter>
             <parameter>
               <name>username</name>
               <value>username</value>
             </parameter>
             <parameter>
               <name>password</name>
               <value>password</value>
             </parameter>
             <parameter>
               <name>driverClassName</name>
               <value>org.postgresql.Driver</value>
             </parameter>
             <parameter>
               <name>url</name>
 
<value>jdbc:postgresql://somehost/somedatabase?autoReconnect=true</value
>
             </parameter>
           </ResourceParams>
        </GlobalNamingResource>

        <!-- Snip some other contexts -->

        <Context cachingAllowed="true" debug="1"
docBase="Entitlement.war" path="/Entitlement" privileged="false"
reloadable="true">
          <Logger className="org.apache.catalina.logger.FileLogger"
debug="1" directory="logs" prefix="localhost_onejax_log." suffix=".txt"
timestamp="true" verbosity="1"/>
 

           </Context>
        <Logger className="org.apache.catalina.logger.FileLogger"
debug="0" directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true" verbosity="1"/>
      </Host>
 
 
 

Reply via email to