miércoles, 7 de septiembre de 2016

Crear Pool Conexiones en servidor Glassfish

En este tutorial se explicará como crear un pools de conexiones en un servidor Glassfish.

Glassfish tiene un mecanismo para tratar los pools de conexiones JDBC; Tiene un pool de conexiones, y después un JDBC Resources. 
1. Para crear el pool de conexiones jdbc, entramos primero a la consola de administración del servidor.

2. Nos dirigimos a Recursos>JDBC>Pools de Conexiones JDBC y seleccionamos "New"JDBC Connection Pools.

3. Le damos el nombre del pool de conexiones a relacionar, hay que tener en cuenta que si va enlazar con una aplicación empresarial o web en netbeans, recomiendo colocarle el mismo nombre que le colocó al pool que creó en netbeans.
pool name : Aquí colocamos el nombre del pool, compuesto por letras y números y sin espacios.
Resource Type : Aquí seleccionamos el  tipo de recurso. Por lo general es java.sql.DataSource.
Database Driver Vendor: En esta opción colocamos nuestro proveedor de base de datos, eso depende de cual estés utilizando o cual necesites para poner a funcionar el pool. En mi caso escogeré Oracle, ya que mi base de datos esta en PL/SQL.

Lo demás lo dejamos por defecto y damos clic en el boton Next.


4.  En el segundo paso solo procedemos a ingresar los siguientes parámetros, estos son por criterio, es decir, según lo que tu necesites.
Initial and Minimum Pool Size:  Número mínimo e inicial de conexiones mantenidas
Maximum Pool Size: Número máximo de conexiones que se pueden crear para las peticiones.
Pool Resize Quantity: El número de conexiones que se elimina cuando el tiempo de espera expira.
Idle Timeout: El tiempo máximo que la conexión puede permanecer inactiva.
Max Wait Time: tiempo máximo de espera.
En mi caso todo lo deje por defecto. 

Ahora viene lo más importante del pool de conexiones y aquí deben tener claro los siguientes criterios:
DataBaseName: Nombre de la base de datos.
DataSourceName: OracleDataSource.
NetworkProtocol: Protocolo de red para nuestro caso tcp.
Password: clave de la base de datos o esquema.
User: usuario de la base de datos o esquema.
PortNumber: puerto por el que se realizara la conexión a la base de datos, en mi caso estoy manejando Oracle y por defecto el puerto 1521.
URL: jdbc:oracle:thin:@11.9.9.19:1521:COSTOS


ahora tenemos nuestro pool de conexiones configurado. Para verficar el estado del mismo realizaremos un Ping para ver si la conexion se ha establecido.
Se ha realizado el ping exitosamente, es decir, ya podemos utilizar nuestro pool. 
Hay que tener el cuenta que el pool puede generar excepciones si no tiene el driver del gestor de base de datos, ya sea Oracle, Sql-Server, etc, y el ping no sera exitoso. 

Estás pueden ser algunas de las excepciones que genera el servidor.

Caused by: java.lang.ClassNotFoundException: oracle.sql.LdxLib 
at com.sun.enterprise.loader.ASURLClassLoader.findClassData(ASURLClassLoader.java:708) 
at com.sun.enterprise.loader.ASURLClassLoader.findClass(ASURLClassLoader.java:626)

java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleDataSource
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)



Luego de crear el pool de conexiones de debe crear el recurso JDBC que proporciona a las aplicaciones las conexiones a la base de datos.

Los pasos a seguir son los siguientes:
Ubicar "Recursos de JDBC"















Seleccionar nuevo y se mostrará la siguiente pantalla:
Nombre del JDNI, el cual se va a utilizar para gestionar las conexiones con las base de datos.
Nombre del pool, se selecciona el pool creado anteriormente.


Con estos pasos ya se tendría creado el pool de conexiones y el recurso que permite enlazar la aplicación con la bd.

No hay comentarios:

Publicar un comentario