tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Smith <d...@cornell.edu>
Subject Re: Name jdbc is not bound in this Context
Date Thu, 09 Sep 2004 13:54:30 GMT
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: tomcat-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message