I attached my web.xml, this is the relevant entry in server.xml:
<DefaultContext debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/ComercialDB"
auth="Container"
type="javax.sql.DataSource"/> <ResourceParams name="jdbc/ComercialDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter> <parameter>
<name>maxActive</name>
<value>100</value>
</parameter> <parameter>
<name>maxIdle</name>
<value>30</value>
</parameter> <parameter>
<name>maxWait</name>
<value>10000</value>
</parameter> <parameter>
<name>username</name>
<value>***</value>
</parameter>
<parameter>
<name>password</name>
<value>***</value>
</parameter> <parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter> <parameter>
<name>url</name><value>jdbc:mysql://localhost:3306/comercial?autoReconnect=true</value>
</parameter>
</ResourceParams></DefaultContext>
Thanks for the help Colin.
_________________ Manolo Ramirez T.
Madere, Colin wrote:
Well then it may be something else. I'm essentially doing what you are with a JNDI datasource defined in the DefaultContext with nothing in the web.xml (except to pass along the JNDI name so it's not hard-coded). It breaks for me (and a bunch of other people posting recently using 4.1.x) when I try to move that to GlobalNamingResources and use a ResourceLink.
Post your server.xml and web.xml (or just relevant parts), maybe it's something else.
-----Original Message-----
From: Manolo Ramirez T. [mailto:[EMAIL PROTECTED] Sent: Monday, August 25, 2003 3:50 PM
To: Tomcat Users List
Subject: Re: Can not load JNDI DataSource in Servlet.init()
No, I'm not using a ResourceLink.
_________________ Manolo Ramirez T.
Madere, Colin wrote:
So you are using a resource link in the DefaultContext either in server.xml or your web.xml?
-----Original Message----- From: Manolo Ramirez T. [mailto:[EMAIL PROTECTED] Sent: Monday, August 25, 2003 1:27 PM To: Tomcat Users List Subject: Re: Can not load JNDI DataSource in Servlet.init()
It's in DefaultContext, I checked the related messages, it seems like the same problem.
Thanks for the answer.
_________________ Manolo Ramirez T.
Madere, Colin wrote:
How is your JNDI resource configured? In an explicitly defined Context or in the DefaultContext? ResourceLinked?
I ask because there are a number of folks with similar problems that
look to be something missing in how JNDI datasources are handled internally when using DefaultContext.
See other topics:
* ResourceLink and DefaultContext * Tomcat 4.1 DefaultContext Bug? * Question about Tomcat Documentation * Globally defined JNDI DataSource
-----Original Message----- From: Manolo Ramirez T. [mailto:[EMAIL PROTECTED] Sent: Friday, August 22, 2003 10:55 PM To: Tomcat Users List Subject: Can not load JNDI DataSource in Servlet.init()
Hi all,
Why I can't load a JNDI resource on the init method of my servlet?
there
is no problem doing that in doGet() but on init() it doesn't work. the logs entry is:
java.sql.SQLException: Cannot load JDBC driver class 'null'
It's the same code! What I'm missing?
this is my servlet code:
package libreria;
import java.io.PrintWriter; import java.io.IOException; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; import javax.sql.*; import javax.naming.*;
public class MyServlet extends HttpServlet {
public void init (ServletConfig config) throws ServletException{ super.init(config); try { Context ctx = new InitialContext(); if(ctx==null) { System.out.println("fallo InitialContext"); return; }
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/ComercialDB");
if(ds==null) {
System.out.println("fallo lookup");
return;
}
Connection conn = ds.getConnection();
Statement stm = conn.createStatement(); ResultSet rs = stm.executeQuery("select * from pruebas");
while(rs.next()) {
System.out.println(rs.getInt("id")+"::"+rs.getString("nombre")+"::"+rs
.getSt
ring("apellido"));
}
}
catch(Exception e) {
e.printStackTrace();
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { response.setContentType("text/plain"); PrintWriter out= response.getWriter(); out.println("holas muchas");
try { Context ctx = new InitialContext(); if(ctx==null) { out.println("fallo InitialContext"); return; }
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/ComercialDB");
if(ds==null) {
out.println("fallo lookup");
return;
}
Connection conn = ds.getConnection();
Statement stm = conn.createStatement(); ResultSet rs = stm.executeQuery("select * from pruebas");
while(rs.next()) {
out.println(rs.getInt("id")+"::"+rs.getString("nombre")+rs.getString("
apelli
do"));
}
}
catch(Exception e) {
e.printStackTrace(out);
}
}
}
Regards.
_____________ Manolo Ramirez T.
--------------------------------------------------------------------- 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]
--------------------------------------------------------------------- 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]
--------------------------------------------------------------------- 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]
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Aplicacion Web de Libreria</display-name>
<description>Esta aplicacion matiene una base de datos de libros.</description>
<!--
<listener>
<listener-class>libreria.ContextListener</listener-class>
</listener>
-->
<servlet>
<servlet-name>PruebasJava</servlet-name>
<servlet-class>libreria.MyServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>PruebasJava</servlet-name>
<url-pattern>/pruebas</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>Index.jsp</welcome-file>
</welcome-file-list>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/ComercialDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
