jueves, 15 de noviembre de 2012

Configuración DATA SOURCE TOMCAT 7 - ORACLE DATA SOURCE


  • DATA SOURCE

La configuración de un Data Source para tomcat es muy sencillo se requiere seguir los siguientes pasos los cuales fueron extraidos de la página oficial de tomcat: configuración Data Source y la configuracion del Context.xml.

1.Archivo Context: lo primero que se tiene que hacer es configurar el Context para esto tenemos 2 opciones:


a. Configuración Context en el war: crear un archivo Context.xml en la aplicación en la carpeta META-INF el cual debe tener la siguiente estructura (para este ejemplo realice las pruebas con Oracle):


WEB-INF/web.xml
esto si se quiere trabajar la configuración a nivel del war.

b. Configuración Context Tomcat: si se quiere trabajar con un solo archivo de configuración a nivel de tomcat ingresar la misma configuración en el archivo Context.xml que se encuentra en la ruta tomcat/conf si se quiere agregar mas conexiones agregar un nuevo algo así:

WEB-INF/web.xml
2. Archivo web.xml: en el archivo web.xml de la aplicación agregar:


Descripcion conexion jdbc/ds1 javax.sql.DataSource Container
3. Utilizando el DS: en la aplicación hacemos llamado al ds con el siguiente código:


Context ctx = new InitialContext(); Context envctx = (Context) ctx.lookup("java:/comp/env"); DataSource dataSource = (DataSource) envctx.lookup("jdbc/ds1"); Connection conn = dataSource.getConnection();


  • ORACLE DATA SOURCE

Si vas trabajar con tipos de datos propios de oracle tendrias que cambiar tu configuración y trabajar con ORACLE DATA SOURCE, por ejemplo en mi caso con datos del tipo "OracleTypes.CURSOR, BLOB etc." para eso se tiene que reemplazar el siguiente código en el Contex.mxl:




despues se debe cambiar en el web.xml del proyecto:

Descripcion conexion jdbc/ds1 oracle.jdbc.pool.OracleDataSource Container

y por último en el código:

Context ctx = new InitialContext(); Context envctx = (Context) ctx.lookup("java:/comp/env"); OracleDataSource dataSource = (OracleDataSource) envctx.lookup("jdbc/ds1"); Connection conn = dataSource.getConnection();

Buenos después de tiempo publico un nuevo post espero les sea util. adeu.