A) Уверете се, че сте конфигурирали Glassfish Connection Pool за автоматично възстановяване/повторно свързване
В конфигурацията на пула за връзки Glassfish JDBC задайте стойностите за:
- Атрибути:
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 jdbc-connection -Свойства на басейна
Glassfish Администратор - подкоманда create-jdbc-connection-pool
Стъпки:
- Ако приемем, че Glassfish работи (напр. стартиране на сървър в раздела Netbeans Services, като отворите сървъри и щракнете с десния бутон на Glassfish), тогава трябва да имате работещ сървър за администратор на домейн
- Отворете администраторската конзола в уеб браузър:
http://localhost:4848
(или използвайте порта, който сте посочили по време на инсталацията. - Отляво, под менюто Общи задачи, отворете Ресурси -> JDBC и щракнете върху JDBC Connection Pools
- Щракнете върху ИМЕТО на вашия пул за връзки (или създайте нов, като щракнете върху бутона Нов)
- Изберете раздел Разширени и въведете:
- Проверка най-много веднъж:(напр. 60) за секунди
- Опити за повторен опит за създаване:(напр. 3)
- Интервал за повторен опит:(напр. 10) в секунди
- Проверка на връзката:(отметка) Изисква се
- Метод на валидиране:(напр. автоматично извършване)
- Други разширени свойства по желание
- Изберете раздел Общи и въведете:
- Пинг (отметка)
- Други общи свойства по желание
B) Внедряване на обработка на грешки в приложението/мониторинг на база данни и сигнали
-
Задължително:улавяне на фатални потребителски грешки на „на ниво инфраструктура“ и предупреждаване на персонала за поддръжка.
Създайте прост JMX клас за изпращане на известие и извикайте неговия метод, когато възникне фатална грешка JMX MBean Class, който изпраща известия . Можете да използвате конзола за монитор на JMX, за да наблюдавате състоянието на сървърите - някои от тези конзоли изпращат известия по имейл (напр. JManage и RHQ) и има мостове за достъп от HTTP/AJax или други езици (напр. Jolokia може да използва javascript/perl/java API за достъп до JMX известия).
Използвайте API на Google Календар за да изпратите съобщението за грешка до календара на google на екипа за поддръжка (1 или 2 минути в бъдеще). След това конфигурирайте календара на Google за изпращане на имейл/sms известия - ще изпрати предупреждение за грешка направо на екипа за поддръжка в почти реално време. Това е предмет на ограничения за използване на Google (ограничение за любезност от 10 000 заявки на ден, така че се уверете, че приложенията ви не са много бъгове и използвайте логика, за да ограничите броя на съобщенията, изпратени за час/ден/седмица)
-
Желателно:наблюдавайте DB (и вероятно сървър на приложения) и предупреждавайте персонала за поддръжка за прекъсвания
- Zabbix с отворен код има вграден mySQL мониторинг и предупреждение – лек е, но изисква настройка и конфигурация
- Hyperic с отворен код има добавки за разширение за наблюдение на mySQL и вградено предупреждение – тежък е, може да бъде сложен за настройка и конфигуриране
- Nagois с отворен код е по подразбиране за *nix OS – тежко е, може да бъде сложен за настройка и конфигуриране
Във всички случаи настройката няма да се случи мигновено – най-добре е да се приложи като отделен мини проект и да се направи правилно – най-добре е да има помощен персонал, включен в това.
Ако те са „извън обхвата“, създайте свой собствен прост монитор:
- EJB таймер за стартиране на планирана проста тестова заявка към вашата БД – ако не успее, изпратете предупреждение (чрез API на JMX/Google Calendar/Java Mail/SMS Gateway). Или използвайте Quartz планировчик с отворен код, за да свършите същата работа