A) Assicurati di configurare Glassfish Connection Pool per il ripristino/riconnessione automatica
Nella configurazione del pool di connessioni JDBC Glassfish, imposta i valori per:
- Attributi:
is-connection-validation-required, validate-atmost-once-period-in-seconds, connection-creation-retry-attempts, connection-validation-method, connection-creation-retry-interval-in-seconds, ping
Configurazione Glassfish connessione jdbc -Proprietà pool
Glassfish Admin:sottocomando create-jdbc-connection-pool
Passi:
- Supponendo che Glassfish sia in esecuzione (ad es. avviare il server nella scheda Servizi Netbeans, aprendo Server e facendo clic con il pulsante destro del mouse su Glassfish), dovresti avere il Domain Admin Server in esecuzione
- Apri l'Admin Console nel browser web:
http://localhost:4848
(o usa la porta che hai specificato durante l'installazione. - A sinistra, nel menu Attività comuni, apri Risorse -> JDBC e fai clic su JDBC Connection Pools
- Fai clic sul tuo pool di connessioni NOME POOL (o creane uno nuovo facendo clic sul pulsante Nuovo)
- Seleziona la scheda Avanzate e inserisci:
- Convalida al massimo una volta:(ad es. 60) in secondi
- Tentativi di ripetizione della creazione:(ad es. 3)
- Intervallo tra tentativi:(ad es. 10) in secondi
- Convalida della connessione:(segno di spunta) richiesta
- Metodo di convalida:(ad es. auto-commit)
- Altre proprietà avanzate come desiderato
- Seleziona la scheda Generale e inserisci:
- Ping (segno di spunta)
- Altre proprietà generali desiderate
B) Implementare la gestione degli errori dell'applicazione/il monitoraggio e gli avvisi del database
-
Obbligatorio:intrappolare gli errori fatali degli utenti "a livello di infrastruttura" e allertare il personale di supporto.
Crea una semplice classe JMX per inviare una notifica e richiamarne il metodo quando si verifica un errore irreversibile Classe JMX MBean che invia notifiche . È possibile utilizzare una console di monitoraggio JMX per osservare lo stato dei server:alcune di queste console inviano avvisi e-mail (ad es. JManage e RHQ) e sono presenti bridge per l'accesso da HTTP/AJax o altre lingue (ad es. Jolokia può utilizzare l'API javascript/perl/java per accedere alle notifiche JMX).
Utilizza API di Google Calendar per inviare il messaggio di errore al calendario di Google del personale di supporto (1 o 2 minuti in futuro). Quindi configura Google Calendar per inviare notifiche e-mail/sms:invierà un avviso di errore direttamente al personale di supporto quasi in tempo reale. Questo è soggetto alle restrizioni sull'utilizzo di Google (un limite di cortesia di 10.000 query al giorno, quindi assicurati che le tue app non siano super bacate e utilizza la logica per limitare il numero di messaggi inviati in un'ora/giorno/settimana)
-
Auspicabile:monitorare il DB (e probabilmente il server dell'app) e avvisare il personale di supporto in caso di interruzioni
- Zabbix open source ha il monitoraggio e gli avvisi MySQL integrati:è leggero ma richiede installazione e configurazione
- Hyperic open source ha plug-in di estensione per il monitoraggio di MySQL e avvisi integrati:è pesante, può essere complesso da configurare e configurare
- Nagois open source è l'impostazione predefinita per *nix OS:è pesante, può essere complesso da configurare e configurare
In tutti i casi, l'installazione non avverrà all'istante - è meglio implementarlo come un mini progetto separato e farlo bene - è meglio che il personale di supporto sia coinvolto in questo.
Se questi sono "fuori portata", crea il tuo monitor semplice:
- Un timer EJB per eseguire semplici query di test pianificate sul database - se non riesce invia un avviso (tramite JMX/Google Calendar/Java Mail/API gateway SMS). Oppure usa l'utilità di pianificazione open source Quartz per fare lo stesso lavoro