Utilice la página Editar atributos avanzados del pool de conexiones para especificar los atributos que ayudan en el diagnóstico de pérdidas de conexiones y facilitan el uso.
La página Editar atributos avanzados del pool de conexiones incluye las siguientes opciones.
Botón para restaurar configuración que tiene valores por defecto a sus valores por defecto. Las configuraciones que no tienen valores por defecto no se modifican.
Nombre del pool de conexiones. Este campo es de sólo lectura. Sólo puede especificar el nombre del pool de conexiones al crear un nuevo pool de conexiones JDBC.
Duración de tiempo, en segundos, tras la que se terminarán las consultas que se ejecuten anormalmente durante mucho tiempo. GlassFish Server definirá QueryTimeout
en las sentencias creadas. Un valor de -1 significa que la opción está desactivada. El valor por defecto es -1.
Número de sentencias que desea almacenar en la caché mediante el mecanismo de almacenamiento en caché de uso menos reciente (LRU) El valor 0 desactiva el almacenamiento de sentencias en caché. El valor por defecto es 0.
Cadena SQL que se debe ejecutar cada vez que se crea (no se reutiliza) una conexión en el pool. La ejecución de esta cadena inicia el estado de la conexión.
Una lista separada por comas compuesta por nombres de clases de implantaciones de listeners que especifica que se realizará un seguimiento de las sentencias SQL ejecutadas por las aplicaciones. Las clases de listener deben implantar la interfaz org.glassfish.api.jdbc.SQLTraceListener
. El uso de listeners permite filtrar fácilmente los mensajes de log de las sentencias SQL y ayuda a los administradores analizar las sentencias.
Si se activa esta opción, las aplicaciones obtendrán objetos JDBC envueltos para Statement, PreparedStatement, CallableStatement, ResultSet y DatabaseMetaData. Esta opción se encuentra activada por defecto.
Permite crear pool de conexiones en el pool. Esta opción se encuentra activada por defecto.
Especifica el intervalo de tiempo, en segundos, entre solicitudes consecutivas para validar una conexión como máximo una vez. Si se define este atributo con un valor apropiado se minimiza el número de solicitudes de validación por conexión. El valor por defecto es 0, lo que significa que el atributo no está activado.
Duración de tiempo, en segundos, para realizar un seguimiento de las pérdidas de conexión en un pool de conexiones. Use este campo para detectar pérdidas en la conexión potenciales por parte de la aplicación. En caso de que la aplicación no devuelva la conexión al pool de conexiones dentro del período especificado, se considerará que existen pérdidas potenciales y se registrará un rastreo de la pila del emisor de la llamada. Un valor de 0 significa que el seguimiento de pérdidas de conexión está desactivado. El valor por defecto es 0.
Utilice este campo junto con la Recuperación de pérdida para evitar pérdidas potenciales de conexión de la aplicación.
Si esta opción está activada, las conexiones perdidas se restablecerán en el pool tras completar un seguimiento de la pérdidas de conexión Esta opción se activada por defecto.
Duración de tiempo, en segundos, para realizar un seguimiento de las pérdidas de sentencias en un pool de conexiones. Use este campo para detectar pérdidas potenciales de sentencias potenciales por parte de la aplicación. En caso de que la aplicación no devuelva una sentencia al pool dentro del período especificado, se considerará que existen pérdidas potenciales, y se registrará un rastreo de pila del emisor de la llamada. Un valor de 0 significa que el rastreo de pérdidas de sentencias está desactivado. El valor por defecto es 0.
Utilice este campo junto con la reclamación de pérdidas de sentencias para evitar pérdidas potenciales de conexión desde la aplicación.
Si esta opción está activada, las sentencias perdidas se restauran en el pool tras completar un rastreo de las pérdidas de sentencias. Esta opción se activada por defecto.
Número de intentos que se realizarán si se produce un fallo al crear una nueva conexión. El valor 0 significa que no se realizarán intentos para volver a crear la conexión. El valor por defecto es 0.
Intervalo de tiempo, en segundos, entre dos intentos para crear una conexión. El valor por defecto es 10. Este atributo se utiliza sólo si el valor de Intentos de creación es mayor que 0.
Si esta opción está activada, se asociará una conexión física a una recopilación lógica sólo cuando se use la conexión. Las conexiones se disocian cuando la transacción se completa y un método de componentes finaliza, lo que ayuda a reutilizar las conexiones físicas. Esta opción se activada por defecto.
Si esta opción está activada, se inscribe un recurso en la transacción sólo cuando realmente se use en un método. Esta opción se activada por defecto.
Si esta opción está activada, se realizará una asociación entre una conexión y un thread de manera que cuando el mismo thread necesite una conexión, podrá volver a utilizar la conexión ya asociada a ese thread y, por tanto, no incurrirá en la sobrecarga para conseguir una conexión del pool. Esta opción se activada por defecto.
Si esta opción está activada, las conexiones que se seleccionen en el pool deberían coincidir con las conexiones que tienen determinadas credenciales. Esta opción debe estar activada si el pool de conexiones lo utilizan aplicaciones que tienen varias credenciales de usuario. Esta opción se puede desactivar con total seguridad si el administrador sabe que las conexiones del pool siempre serán homogéneas y, por tanto, el adaptador de recursos no necesitará buscar una coincidencia de una conexión seleccionada del pool. Esta opción se activada por defecto.
Número de veces que el pool debe reutilizar una conexión. La conexión se cerrará una vez reutilizada durante un número específico de veces. Al limitar el número de veces que una conexión se puede reutilizar, puede evitar pérdidas de sentencia si una aplicación no las cierra. Un valor de -0 significa que este atributo está desactivado. El valor por defecto es 0.
Si esta opción está activada, será necesario validar la conexión, lo que permitirá al servidor volver a conectarse en caso de fallo.
GlassFish Server puede validar las conexiones de la base de datos de las siguientes maneras.
auto-commit
y metadata
GlassFish Server valida una conexión llamando a los métodos con.getAutoCommit
o con.getMetaData
.
Nota:
Muchos controladores JDBC guardan en caché los resultados de estas llamadas. Como resultado, al utilizar estas llamadas es posible que no siempre se obtengan validaciones fiables. Compruebe con el proveedor del controlador para determinar si estas llamadas están guardadas en la caché o no.custom-validation
GlassFish Server utiliza un mecanismo de validación definido por el usuario especificado en la clase de implantación personalizada, dentro del campo Nombre de clase de validación.
table
La aplicación consulta la tabla de la base de datos especificada. La tabla debe existir y estar accesible, aunque no requiere ninguna fila. No utilice una tabla existente que tenga un gran número de filas, o una tabla a la que ya se accede con frecuencia.
Nombre de la tabla de la base de datos que se va a validar. Este campo es aplicable sólo si el método de validación se ha definido en table
. Puede seleccionar el nombre de la lista desplegable o escribirlo.
Nombre de clase de implantación de la validación personalizada. Este campo es aplicable sólo si el método de validación se ha definido en custom-validation
. El nombre de clase proporcionado debe ser accesible para GlassFish Server. La clase especificada debe implantar la interfaz org.glassfish.api.jdbc.ConnectionValidation
. Puede seleccionar el nombre de la lista desplegable o escribirlo.
Si esta opción está activada, GlassFish Server cierra todas las conexiones del pool y las restablece cuando falla cualquier conexión. Si esta opción está desactivada, las conexiones individuales sólo se restablecerán cuando se utilicen. Esta opción se activada por defecto.
Si esta opción está activada, los emisores que no son componentes, tales como filtros del servlet y gestores de persistencia de terceros, pueden usar el pool. Las conexiones obtenidas por emisores que no son componentes no se cierran automáticamente al final de una transacción realizada por el contenedor. El emisor de llamada debe cerrarlas. Esta opción se activada por defecto.