CONFIGURACIÓN DE DATASOURCE PARA TOMCAT 5.5 Y MYSQL 5.0.22
Paso 1 - Copiamos nuestro driver JDBC para mysql de extensión *.jar a la ruta $CATALINA_HOME/common/lib del tomcat en mi caso
el fichero es mysql-connector-java-5.0.5-bin.jar. Reiniciar tomcat.
Paso 2 - Si aun no lo hemos hecho, hay que crear en mysql un usuario con contraseña (sino tiene contraseña la conexión va a
fallar), una base de datos y un tabla con datos a la que acceder.
Paso 3- Configurar el web.xml de nuestra aplicación web.
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<description>MySQL Test App</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
Paso 3- Añadir nuestro código de conexión a la aplicación:
//Con DataSource
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/TestDB");
con = ds.getConnection();
DriverManager.setLogWriter(new PrintWriter(System.out, true));
if ( ds == null ) {
throw new Exception("Data source no encontrado!");
}
Paso 4 - Tras realizar el desplegado de la aplicación en tomcat nos vamos a la aplicación de administración de tomcat. Una vez autenticados nos vamos a la siguiente ruta del arbol:
Tomcat Server->Servicio Catalina->Host(Localhost)->Context(/nombreDeLaAplicacion)->Recursos->Fuentes de datos.
En esta ruta nos tiene que aparecer el nombre de nuestro datasource pues lo hemos puesto en el web.xml. Sin embargo no esta configurado (todos los campos menos el nombre estan vacios). Lo configuramos con los siguientes parametros.
<resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxactive="100" maxidle="30" maxwait="10000" username="javauser" password="javadude" driverclassname="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>
Paso 5- Tras ello entramos en nuestra aplicación y la conexión con la bd tiene que realizarse correctamente.
1 comentario:
Hay cientos de explicaciones en internet sobre este tema en ingles, aleman, italiano, chino y shwajiri..
Pero esta es la UNICA que me ha funcionado..ni siquiera las de la propia documentación de tomcat
Muchas Gracias.
He visto ejemplos para configurar el pool en el context.xml de la aplicación, que tampoco han funcionado.
Tienes la solución.?
Saludos
Publicar un comentario