Configuración del Connection Pooling de jConnect JDBC con Tomcat 4.1.x

Introducción
Éste documento describe los pasos necesarios para configurar el "Connection Pooling" de jConnect JDBC con Tomcat 4.1.x y establecer una conexión con un servidor de bases de datos Sybase ASE.
Las instrucciones de éste documento se basaron en un ejercicio llevado a cabo con jConnect 5.5 y Tomcat 4.1.18, en plataforma Windows. En el documento se asume que Tomcat a sido debidamente instalado y configurado en el directorio C:\Program Files\Apache Group\Tomcat 4.1 y que jConnect JDBC de Sybase está instalado en C:\sybase\jConnect-5_5.
Al final de éste documento está el texto de lo debe ser guardado como tres archivos separados:
Instrucciones
Por favor proceda de la siguiente manera:
- Cree las siguientes carpetas:
C:\Program Files\Apache Group\Tomcat 4.1\webapps\sybase C:\Program Files\Apache Group\Tomcat 4.1\webapps\sybase\jsp C:\Program Files\Apache Group\Tomcat 4.1\webapps\sybase\WEB-INF C:\Program Files\Apache Group\Tomcat 4.1\webapps\sybase\WEB-INF\jsp
- Mueva el archivo web.xml a la carpeta C:\Program Files\Apache Group\Tomcat 4.1\webapps\sybase\WEB-INF.
- Mueva el archivo sybase.jsp a la carpeta C:\Program Files\Apache Group\Tomcat 4.1\webapps\sybase\jsp.
- Agregue el contenido del archivo server.xml.SybaseDelta al archivo C:\Program Files\Apache Group\Tomcat 4.1\conf\server.xml existente.
Agregue el nuevo contenido como un contexto adicional dentro de la especificación del servicio "Tomcat-Standalone". Inserte esto después de la última entrada "</context>", pero antes del terminador "</host>" en el grupo "Tomcat-Standalone".
Reemplace las siguientes cadenas con los valores apropiados para su instalación:
database_hostname – nombre de host donde corre Sybase ASE (ej. server1.miempresa.com) your_dbname – nombre de la base de datos (ej. prod_db) your_userid – login de ASE (ej. sa) your_password – contraseña del login (ej. qwer6789)
Si su servidor no está "escuchando" en el puerto 5000, haga el cambio correspondiente para el puerto, también, en el url de conexión, reempezando el valor 5000 por el adecuado.
- Copie el archivo C:\sybase\jConnect-5_5\classes\jconn2.jar al directorio C:\Program Files\Apache Group\Tomcat 4.1\common\lib.
- Reinicie Tomcat.
- Desde su navegador, escriba el siguiente URL: http://tomcat_host:tomcat_port/Sybase
donde tomcat_host es el nombre del servidor en donde corre Tomcat, y tomcat_port es el puerto HTTP de Tomcat (usualmente 8080).
Si todo funciona bien, usted debería ver, entre otras cosas, el resultado del comando select db_name().

Archivo "web.xml"
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <welcome-file-list> <welcome-file>/jsp/sybase.jsp</welcome-file> </welcome-file-list> <!-- for using dscp --> <resource-ref> <res-ref-name>jdbc/a_sybase_datasource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </web-app> |
Archivo "sybase.jsp"
<%@ page import="java.sql.*" %> <%@ page import="javax.sql.*" %> <%@ page import="javax.naming.*" %> <%@ page import="java.util.*" %> <html> <head> <title>Testing Sybase DataSource</title> </head> <body bgcolor="white"> <font size=4> <h3>Start of Test</h3> <% String s = "java:comp/env"; String t = "jdbc/a_sybase_datasource"; InitialContext initCtx = null; try { initCtx = new InitialContext(); out.println("<p>initCtx = new InitialContext() : successful"); out.println("<br>"); out.println( initCtx ); } catch (Exception e) { out.println("<p>initCtx = new InitialContext() : failed"); out.println("<br>"); out.println ( e ); } Context envCtx = null; try { envCtx = (Context) initCtx.lookup( s ); out.println("<br>envCtx = initCtx.lookup(" + s + ") : successful"); out.println("<br>"); out.println( envCtx ); } catch (Exception e) { out.println("<br>envCtx = initCtx.lookup(" + s + ") : failed"); out.println ( e ); } DataSource ds = null; ds = null; try { out.println("<p>Trying ds=(DataSource)envCtx.lookup(" + t + ")"); ds = (DataSource) envCtx.lookup( t ); out.println("<br>DataSource lookup apparently successful"); out.println("<br>" + ds ); } catch (Exception e) { out.println("<BR>Datasource lookup failed <BR>"); out.print( e ); } if (ds == (DataSource) null) { out.println("<BR>DataSource null\n"); } try { Connection conn = ds.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select db_name()"); while (rs.next()) { out.println ( "<br>Inside fetch loop:" ); out.println ( "<br>Value Returned from DataSource: " + rs.getString(1) ); } // end_while rs.close(); stmt.close(); conn.close(); } // end_try catch (SQLException sqe) { out.println("<br>Inside catch(SQLException sqe)"); out.println( sqe.getMessage() ); } // end catch SQLException catch (Exception e) { out.println("<BR>Inside catch(Exception e)<BR>"); out.println(e.getMessage()); out.print( e ); } // end catch Exception %> <p> <h3>End of Test</h3> </font> </body> </html> |
Archivo "server.xml.SybaseDelta"
<!-- Sybase Example Context - dscp example --> <Context path="/Sybase" docBase="sybase" debug="5" reloadable="true" crossContext="true"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_Sybase.log." suffix=".txt" timestamp="true"/> <Resource name="jdbc/a_sybase_datasource" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/a_sybase_datasource"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>maxActive</name> <value>10</value> </parameter> <parameter> <name>maxIdle</name> <value>5</value> </parameter> <parameter> <name>maxWait</name> <value>10000</value> </parameter> <parameter> <name>driverClassName</name> <value>com.sybase.jdbc2.jdbc.SybDriver</value> </parameter> <parameter> <name>url</name> <value>jdbc:sybase:Tds:database_hostname:5000/your_dbname</value> </parameter> <parameter> <name>username</name> <value>your_userid</value> </parameter> <parameter> <name>password</name> <value>your_password</value> </parameter> </ResourceParams> </Context> |
Atributos del Documento
|
| Resumen: |
Este documento describe los pasos necesarios para configurar el Connection Pooling de jConnect JDBC con Tomcat 4.1.x y establecer una conexión con un servidor de bases de datos Sybase ASE. |
| Código: |
10206 |
Última Modificación: |
May 17, 2006 |
| Temas: |
Programación,Configuración |
Tipo de Documento: |
Documento Técnico |
| Productos: |
jConnect |
Versión: |
5.5 en adelante |
| Plataformas: |
Todas las Plataformas |
Sistema Operativo: |
Todos los Sistemas Operativos |
|