PROBLEMAS COM POOL DE TOMCAT

SARA
07 de Noviembre del 2005
Hola! vereis tengo un problema con el pool de TomCat y estoy bastante perdida. Os explicio detalladamente lo que he hecho y luego el error que me da a ver si podeis ayudarme.

1.-ESTABLEZCO EL ORIGEN DE DATOS JNDI.Para ello voy al directorio del tomcat y alli a conf/server.xml y lo que pongo es
<DefaultContext>
<Resource name="jdbc/Servauto" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/Servauto">
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@localhost:1521:SERVAUTO</value>
</parameter>
<parameter>
<name>username</name>
<value>system</value>
</parameter>
<parameter>
<name>password</name>
<value>sara_system</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>50</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>100</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>15</value>
</parameter>
</ResourceParams>
</DefaultContext>

2.-VOY A MI APLICACION WEB(La aplicacion la he desarrollado con el JBuilder) voy a mi aplicacion y dentro de ella al WEB-INF y modifico el web.xml añado lo siguiente(lo añado dentro de la etiqueta webapps):
<resource-ref>
<res-ref-name>jdbc/Servauto</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3.- ESCRIBO UN CODIGO QUE CONSULTE LA BASE DE DATOS PARA PROBAR QUE FUNCIONA.El codigo concretamente es:

<html>
<head>
<%@ page errorPage="errorprog.jsp"
import="java.sql.*,
java.io.*,
javax.naming.InitialContext,
javax.naming.Context" %>
</head>
<body>
<h1>JDBC JNDI Resource Test</h1>
<%
InitialContext initCtx= new InitialContext();
[B] DataSource ds=(DataSource)initCtx.lookup("java:comp/env/jdbc/Servauto");[/B]
Connection conn=ds.getConnection();
Statement stmt=conn.createStatement();
ResultSet rset=stmt.executeQuery("select * from ejercicio;");
%>
<table width=\'600\' border="1">
<tr>
<th align="left">Identificador</th>
<th align="left">Enunciado</th>
<th align="left">Nivel</th>
<th align="left">Fecha</th>
<th align="left">idEsquema</th>
</tr>
<%
while(rset.next()){
%>
<tr><td><%=rset.getString(1)%></td>
<td><%=rset.getString(2)%></td>
<td><%=rset.getString(3)%></td>
<td><%=rset.getDate(4)%></td>
<td><%=rset.getString(5)%></td>
</tr>
<% }
rset.close();
stmt.close();
conn.close();
initCtx.close();
%>
</table>
</body>
</html>


4.-VALE AHORA SUPUESTAMENTE YA LO PUEDO PROBAR Y DEMÁS, LO QUE HAGO ES COMPILAR MI PROYECTO DEL JBUILDER DONDE TENGO LA APLICAION PARA QUE ME GENERE EL WAR QUE LUEGO PONGO EN EL DIRECTORIO DEL TOMCAT
Bien pues aqui es donde me da el error, al compilar. Me da en la linea que he marcado en negrita,(la del lookup) me dice:
"JDBCTest.jsp": Error #: 300 : class DataSource not found in class JDBCTest_0002ejsp_jsp at line 13

Vale yo esa linea la he puesto porque en un libro he leido que todos los recursos JNDI son relativos a java:comp/env.

¿Podeis ayudarme? Es muy importante. NO entiendo el error y el problema es que yo con el TomCat no me defiendo apenas. Muchas gracias!

wolten
07 de Noviembre del 2005
Yo tenia el mismo problema agregame a tu msn y te ayudo online mi mail es: [email protected]
Yo estoy haciendo algo parecido!!!!

Rascayu
07 de Noviembre del 2005
Pues depende de la versión del tomcat se crean los contextos de una manera u otra. Si usas tomcat 5.5.9 el contexto se crea de otra manera (aunque parecida).

También creo que hay que situar alguna librería en /common/lib o por lo menos eso leí para mysql.

Mira la página oficial de tomcat y suerte.