A) Asegúrese de configurar Glassfish Connection Pool para la recuperación/reconexión automática
En la configuración del grupo de conexiones Glassfish JDBC, establezca los valores para:
- Atributos:
is-connection-validation-required, validate-atmost-once-period-in-seconds, connection-creation-retry-attempts, connection-validation-method, connection-creation-retry-interval-in-seconds, ping
Configuración de Glassfish conexión jdbc -Propiedades del grupo
Glassfish Admin:subcomando create-jdbc-connection-pool
Pasos:
- Suponiendo que Glassfish se está ejecutando (por ejemplo, inicie el servidor en la pestaña Servicios de Netbeans, abriendo Servidores y haciendo clic con el botón derecho en Glassfish), entonces debería tener el servidor de administración de dominio ejecutándose
- Abra la consola de administración en el navegador web:
http://localhost:4848
(o use cualquier puerto que haya especificado durante la instalación. - A la izquierda, en el menú Tareas comunes, abra Recursos -> JDBC y haga clic en Grupos de conexiones JDBC
- Haga clic en el nombre del grupo de conexiones (o cree uno nuevo haciendo clic en el botón Nuevo)
- Seleccione la pestaña Avanzado e ingrese:
- Validar como máximo una vez:(por ejemplo, 60) en segundos
- Intentos de reintento de creación:(por ejemplo, 3)
- Intervalo de reintento:(por ejemplo, 10) en segundos
- Validación de conexión:(marque) Obligatorio
- Método de validación:(por ejemplo, confirmación automática)
- Otras propiedades avanzadas según se desee
- Seleccione la pestaña General e ingrese:
- Ping (marcar)
- Otras propiedades generales según se desee
B) Implementar el manejo de errores de aplicaciones/monitoreo de base de datos y alertas
-
Obligatorio:atrape los errores fatales del usuario "a nivel de infraestructura" y alerte al personal de soporte.
Cree una clase JMX simple para enviar una notificación y llame a su método cuando ocurra un error fatal Clase JMX MBean que envía notificaciones . Puede usar una consola de monitor JMX para observar el estado de los servidores:algunas de estas consolas envían alertas por correo electrónico (por ejemplo, JManage y RHQ) y hay puentes para acceder desde HTTP/AJax u otros idiomas (por ejemplo, Jolokia puede usar la API javascript/perl/java para acceder a las notificaciones JMX).
Utilice la API de Google Calendar para enviar el mensaje de error al calendario de Google del personal de soporte (1 o 2 minutos en el futuro). Luego configure el calendario de Google para enviar notificaciones por correo electrónico/sms; le dará una alerta de error directamente al personal de soporte casi en tiempo real. Esto está sujeto a las restricciones de uso de Google (un límite de cortesía de 10 000 consultas por día, así que asegúrese de que sus aplicaciones no tengan muchos errores y use la lógica para limitar la cantidad de mensajes enviados en una hora/día/semana)
-
Deseable:monitorear la base de datos (y probablemente el servidor de aplicaciones) y alertar al personal de soporte de interrupciones
- El código abierto de Zabbix ha incorporado monitoreo y alertas de mySQL:es liviano pero requiere instalación y configuración
- Hyperic open source tiene complementos de extensión para el monitoreo de mySQL y alertas incorporadas:es pesado, puede ser complejo de instalar y configurar
- El código abierto de Nagois es el predeterminado para los sistemas operativos *nix:es pesado, puede ser complejo de instalar y configurar
En todos los casos, la configuración no se realizará instantáneamente; es mejor implementarlo como un mini proyecto separado y hacerlo bien; es mejor que el personal de soporte participe en esto.
Si estos están "fuera del alcance", cree su propio monitor simple:
- Un temporizador EJB para ejecutar una consulta de prueba simple programada en su base de datos; si falla, envíe una alerta (a través de JMX/Google Calendar/Java Mail/SMS gateway API). O use el programador de código abierto de Quartz para hacer el mismo trabajo