Pool de conexiones en tomcat

patrif
15 de Abril del 2006
Hola a todos. Estoy intentando hacer un pool de conexión a una base de datos MySQL desde Tomcat 5.
Cuando intento hacer el getConection(), me da el siguiente error:
org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

La declaración que he hecho en el server.xml es la siguiente:

<Context path="/pool" docBase="ICT" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/proyectoDB" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/proyectoDB">
<parameter>
<name>username</name>
<value>admin</value>
</parameter>
<parameter>
<name>password</name>
<value>admin</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://127.0.0.1/proyecto</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>5</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>3</value>
</parameter>
</ResourceParams>
</Context>

Y en el web.xml de la aplicacion

<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/proyectoDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

¿Alguien puede ayudarme, porque no sé si me falta algo o por qué puede ser?

Muchas gracias.

frantic
15 de Abril del 2006
Asegurate de tener en la libreria del Tomcat copiada el driver JDBC de MySQL, de igual manera asegurate de tenerlo en el CLASSPATH de tu aplicacion.

patrif
15 de Abril del 2006
Gracias, pero eso está comprobado.
¿Se te ocurre algo más?

Zemi
15 de Abril del 2006
Hola,
me acabo de encontrar con el mismo problema, con Tomcat 5.5.9.
Se ha resuelto poniendo en Resource las opciones como atributos en vez de como hijos, es decir, poner
<Resource ... username="admin" ....
en vez de usar el tag
<ResourceParams>

Zemi
15 de Abril del 2006
Las comillas las ha escapado el foro, no pongais la barra inclinada antes de las comillas

frantic
15 de Abril del 2006
Hola,

Lo único que se me ocurre es que no tengas activado el acceso al JDNINaming, como el acceso al pool de conexiones se hace a traves de JDNI puede que este sea el inconveniente.
En Tomcat por defecto la propiedad del contexto useNaming es false. Prueba cambiar esta propiedad a true del siguiente modo:
<Context ... useNaming="true" ...

Hecho eso reinicia tu servidor de aplicaciones y prueba si sigue dando el mismo error, en teoria y si estoy en lo cierto esto deberia resolver tu problema.