Most of it looks good. driverClassName on a recent mysql jar should be com.mysql.jdbc.Driver instead of the ancient org.gjt..... stuff. The mysql jar should be located in common/lib if you're using the container supplied dbcp pooling. If you happen to move the mysql jar file, you'll have to restart tomcat to register the change with the common/lib classloader. Use the manager app to restart your context if you change anything in the context definition.

--David

Kelly C. Goedert wrote:

Hi,

I'm getting this error " Name jdbc is not bound in this Context" on my application. My tomcat version is 5.0.27.

The servlet that is causing this error is trying to access a database with the following code:

protected IDatabaseConnection getConnection() throws Exception {
            Context ic = new InitialContext();
       Context ctx = (Context) ic.lookup("java:comp/env");
       DataSource ds = (DataSource) ic.lookup("jdbc/boxes-cactus");
             con = new DatabaseDataSourceConnection( ds);
             return con;

   }

My web.xml has the following configuration to the datasource:

<resource-ref>
     <description>DB Connection</description>
     <res-ref-name>jdbc/boxes-cactus</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
 </resource-ref>

And in $TOMCAT_HOME/conf/
Catalina/localhost/boxes-cactus.xml I got this

Context path="/boxes-cactus" docBase="boxes-cactus"
       debug="5" reloadable="true" crossContext="true">

   <Logger className="org.apache.catalina.logger.FileLogger"
            prefix="localhost_DBTest_log." suffix=".txt"
            timestamp="true"/>

 <Resource name="jdbc/boxes-cactus"
              auth="Container"
              type="javax.sql.DataSource"/>

 <ResourceParams name="jdbc/boxes-cactus">
   <parameter>
     <name>factory</name>
     <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
   </parameter>

   <!-- Maximum number of dB connections in pool. Make sure you
        configure your mysqld max_connections large enough to handle
        all of your db connections. Set to 0 for no limit.
        -->
   <parameter>
     <name>maxActive</name>
     <value>100</value>
   </parameter>

   <!-- Maximum number of idle dB connections to retain in pool.
        Set to -1 for no limit.  See also the DBCP documentation on this
        and the minEvictableIdleTimeMillis configuration parameter.
        -->
   <parameter>
     <name>maxIdle</name>
     <value>30</value>
   </parameter>

   <!-- Maximum time to wait for a dB connection to become available
        in ms, in this example 10 seconds. An Exception is thrown if
        this timeout is exceeded.  Set to -1 to wait indefinitely.
        -->
   <parameter>
     <name>maxWait</name>
     <value>10000</value>
   </parameter>

   <!-- MySQL dB username and password for dB connections  -->
   <parameter>
    <name>username</name>
    <value>root</value>
   </parameter>
   <parameter>
    <name>password</name>
    <value>xxxxx</value>
   </parameter>

<!-- Class name for the old mm.mysql JDBC driver - uncomment this entry and comment next
if you want to use this driver - we recommend using Connector/J though
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
-->
<!-- Class name for the official MySQL Connector/J driver -->
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<!-- The JDBC connection url for connecting to your MySQL dB.
The autoReconnect=true argument to the url makes sure that the
mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
connection. mysqld by default closes idle connections after 8 hours.
-->
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/BOXES?autoReconnect=true</value>
</parameter>
</ResourceParams>
</Context>



Can anyone help?

Kelly.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to