A) Upewnij się, że skonfigurowałeś pulę połączeń Glassfish do automatycznego przywracania/ponownego łączenia
W konfiguracji puli połączeń Glassfish JDBC ustaw wartości dla:
- Atrybuty:
is-connection-validation-required, validate-atmost-once-period-in-seconds, connection-creation-retry-attempts, connection-validation-method, connection-creation-retry-interval-in-seconds, ping
Glassfish Konfiguracja połączenia jdbc -pool Właściwości
Glassfish Administrator — podkomenda create-jdbc-connection-pool
Kroki:
- Zakładając, że Glassfish jest uruchomiony (np. uruchom serwer na karcie usług Netbeans, otwierając serwery i klikając prawym przyciskiem myszy Glassfish), powinieneś mieć uruchomiony serwer administratora domeny
- Otwórz konsolę administracyjną w przeglądarce internetowej:
http://localhost:4848
(lub użyj dowolnego portu, który określiłeś podczas instalacji. - Po lewej stronie, w menu Typowe zadania, otwórz Zasoby -> JDBC i kliknij Pule połączeń JDBC
- Kliknij na nazwę puli połączeń (lub utwórz nową, klikając przycisk Nowa)
- Wybierz kartę Zaawansowane i Enter:
- Zatwierdź co najwyżej raz:(np. 60) w kilka sekund
- Próby ponownego utworzenia:(np. 3)
- Interwał ponownych prób:(np. 10) w sekundach
- Weryfikacja połączenia:(zaznaczenie) wymagane
- Metoda weryfikacji:(np. automatyczne zatwierdzanie)
- Inne zaawansowane właściwości zgodnie z potrzebami
- Wybierz kartę Ogólne i wprowadź:
- Ping (zaznacz)
- Inne właściwości ogólne zgodnie z potrzebami
B) Zaimplementuj obsługę błędów aplikacji / monitorowanie i alerty bazy danych
-
Obowiązkowe:wyłapywanie krytycznych błędów użytkownika na poziomie infrastruktury i ostrzeganie personelu pomocniczego.
Utwórz prostą klasę JMX, aby wysłać powiadomienie i wywołać jej metodę, gdy wystąpi błąd krytyczny Klasa JMX MBean, która wysyła powiadomienia . Możesz użyć konsoli monitora JMX do obserwowania stanu serwerów — niektóre z nich wysyłają alerty e-mail (np. JManage i RHQ) i istnieją mosty umożliwiające dostęp z HTTP/AJax lub innych języków (np. Jolokia może używać javascript/perl/java API do uzyskiwania dostępu do powiadomień JMX).
Użyj interfejsu API Kalendarza Google aby wysłać wiadomość o błędzie do kalendarza Google personelu wsparcia (1 lub 2 minuty w przyszłość). Następnie skonfiguruj kalendarz Google tak, aby wysyłał powiadomienia e-mail/sms - powiadomienie o błędzie będzie wysyłane bezpośrednio do personelu pomocy technicznej w czasie zbliżonym do rzeczywistego. Podlega to ograniczeniom użytkowania Google (limit grzecznościowy wynoszący 10 000 zapytań dziennie, więc upewnij się, że Twoje aplikacje nie są bardzo błędne i używaj logiki, aby ograniczyć liczbę wiadomości wysyłanych w ciągu godziny / dnia / tygodnia)
-
Pożądane:monitoruj bazę danych (i prawdopodobnie serwer aplikacji) i ostrzegaj personel pomocy technicznej o awariach
- Zabbix open source ma wbudowane monitorowanie i alarmowanie MySQL - jest lekki, ale wymaga instalacji i konfiguracji
- Hyperic open source ma wtyczki rozszerzające do monitorowania MySQL i wbudowanego ostrzegania - jest ciężki, może być skomplikowany w konfiguracji i konfiguracji
- Otwarte źródło Nagois jest domyślne dla systemów *nix - jest ciężkie, może być skomplikowane w konfiguracji i konfiguracji
We wszystkich przypadkach konfiguracja nie nastąpi natychmiast - najlepiej wdrożyć jako oddzielny mini projekt i zrobić to dobrze - najlepiej, aby zaangażować w to personel pomocniczy.
Jeśli są one „poza zakresem”, utwórz własny prosty monitor:
- Licznik czasu EJB do uruchomienia zaplanowanego prostego zapytania testowego w bazie danych — w przypadku niepowodzenia wyślij alert (za pośrednictwem interfejsu API JMX/Google Calendar/Java Mail/Brama SMS). Lub użyj harmonogramu open source Quartz, aby wykonać to samo zadanie