Hola todos. Para quienes han trabajado con Glassfish en su versión 4.x tal vez hayan notado un bug que no permite la creación de orígenes de datos (datasource) desde la consola Web. Por ende, la creación de dichos recursos se debe hacer por medio de la utilidad asadmin (capítulo 2), que la encuentras en la siguiente ruta:
{GLASSFISH_HOME}/bin/asadmin
Donde {GLASSFISH_HOME} es el directorio de instalación de Glassfish. Si usas Linux, generalmente es: /opt/glassfish4/asadmin. Si usas Windows, seguramente debes adicionar la extensión .bat.
El error en cuestión que muestra la consola Web es:
class java.lang.RuntimeException
A continuación veremos un ejemplo de cómo configurar el pool de conexiones y el origen de datos para una aplicación ADF Essentials que usa base de datos Oracle.
El comando para crear un pool de conexiones se muestra a continuación:
asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --restype javax.sql.DataSource --property portNumber=1521:password=XXYYZZ:user=USER:URL='jdbc\:oracle\:thin\:@XYZ.XYZ.XYZ.XYZ\:1521\:SID' NombrePool
Debes cambiar los datos de acuerdo a tu caso y una vez ejecutado, se crea el pool con nombre NombrePool. Para comprobar que ha quedado bien configurado y hay conexión, puedes ejecutar lo siguiente:
asadmin ping-connection-pool NombrePool
Y por último la creación del origen de datos y la asignación del pool a éste se hace con el siguiente comando:
asadmin create-jdbc-resource --connectionpoolid NombrePool jdbc/NombreDS
Como recomendación, tratar de no crear los recursos modificando directamente los archivos de configuración de Glassfish si no se tiene el conocimiento de todos los archivos que se deben afectar. En alguno de mis clientes registraron el origen de datos directamente en uno de los archivos en vez de usar los comandos vistos anteriormente y luego la aplicación no podía encontrarlo…