You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Jordi Domingo <jd...@sopragroup.es> on 2003/05/01 00:54:42 UTC

HELP with TOMCAT-MySQL with JNDI

Hi! I'm trying to configure a datasource with tomcat 4.0.3 to access  mysql but i always get a null DataSource. I ve been looking but i cant find the problem. I can access mysql putting the code directly in the jsp.
Heres all my code and configuration (i ve put mysql.jar under  %tomcat_home%\common\lib)

Server.xml

<Context path="/usa_bbdd" debug="1" reloadable="true" crossContext="true">
 <Logger className="org.apache.catalina.logger.FileLogger" prefix="jordi_mysql." suffix=".txt" timestamp="true"/>
 <Resource name="jdbc/MySQL" auth="Container" type="javax.sql.DataSource"/>
 <ResourceParams name="jdbc/MySQL">
 <parameter>
     <name>factory</name>
     <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
 </parameter>
 
 <parameter>
     <name>maxActive</name>
     <value>5</value>
 </parameter>
 <parameter>
     <name>maxIdle</name>
     <value>3</value>
 </parameter>
 <parameter>
     <name>maxWait</name>
     <value>10000</value>
 </parameter>
 <parameter>
     <name>username</name>
     <value>noseya</value>
 </parameter>
 <parameter>
     <name>password</name>
     <value>mypass</value>
 </parameter>
 <parameter>
     <name>driverClassName</name>
     <value>org.gjt.mm.mysql.Driver</value>
 </parameter>
 <parameter>
     <name>url</name>
     <value>jdbc:mysql://localhost:3306/jordi?autoReconnect=true</value>
 </parameter>
 </ResourceParams>
</Context>

My web.xml

<web-app>
    <display-name>Aplicacion de demostracion</display-name>
    <description>
        demo
    </description>
 <resource-ref>
   <description>
  Per poder accedir a una factoria de instancies java.sql.Connection per comunicar amb una bbdd  configurada al fitxer server.xml.
   </description>
   <res-ref-name>
     jdbc/MySQL
   </res-ref-name>
   <res-type>
     javax.sql.DataSource
   </res-type>
   <res-auth>
     Container
   </res-auth>
 </resource-ref>
</web-app>

And my jsp..

<%@ page session="true" import="java.sql.*,javax.naming.*,javax.sql.*" %>
<% Context initCtx = new InitialContext();
 Context envCtx = (Context) initCtx.lookup("java:comp/env");
 DataSource ds = (DataSource)envCtx.lookup("jdbc/MySQL");
 Connection conn=null;
 
 try{
  conn = ds.getConnection();
 }catch(NullPointerException e){}
 
  new org.gjt.mm.mysql.Driver();
  Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/jordi", "noseya", "mypass");
%>
<html>
<body>
<% try{ %>
<%= conn.getMetaData().getDatabaseProductVersion() %>
<% }catch(NullPointerException e){ %>
 Cant get connection<br>
<% } %>
<%= con.getMetaData().getDatabaseProductVersion() %>
<% con.close(); %>
<% if(conn!=null)conn.close(); %>
</body>
</html>

The output results in

Cant get connection
3.23.32

Thx all