analytics

Mostrando entradas con la etiqueta Tomcat. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tomcat. Mostrar todas las entradas

lunes, 25 de marzo de 2019

Java Tomcat Pool Datasources Resources

JAVA POOL DATASOURCES desde TOMCAT !!


    Vamos a ver cómo configurar un Datasource (conexión a Base de datos) para acceder a él desde nuestro código, pero configurado en Tomcat. Además, contaremos con un POOL de conexiones, de manera que los accesos a base de datos serán más eficientes.

En el fichero /conf/context.xml de TOMCAT, dentro de la sentencia <Context>, añadir el datasource:
<Resource name="jdbc/ConexionMySQL" auth="Container" type="javax.sql.DataSource"
       maxActive="20" maxIdle="10" maxWait="5000"
       username="xxxxx" password="xxxx#" driverClassName="com.mysql.jdbc.Driver"
       url="jdbc:mysql://xxxxxxxx:3306/xxxxxxx"/>

Por otro lado, en el /WEB-INF/web.xml, añadir lo siguiente dentro de <web-app>
<resource-ref>
   <description>Pool conexiones MySQL</description>
   <res-ref-name>jdbc/ConexionMySQL</res-ref-name>
   <res-type>javax.sql.DataSource</res-type>
   <res-auth>Container</res-auth>
</resource-ref>

Por último, así es como se obtiene conexión

public boolean conectar() {

   Context initContext;
   try {
       initContext = new InitialContext();
       DataSource ds = (DataSource) initContext.lookup("java:/comp/env/jdbc/ConexionMySQL");
       myCon = ds.getConnection();
       return true;
   } catch (SQLException ex) {
       logger.error("Error (" + ex.getErrorCode() + "): " + ex.getMessage());
       return false;
   } catch (NamingException ex) {
       logger.error("Error al intentar obtener el DataSource: " + ex.getMessage());
       return false;
   }

}