|
Платные хостинги
Раскрутка сайта
Книги по программированию
Ошибки во время деплоймента
- Итак, допустим, у нас есть веб-аппликейшн. Допустим, он довольно сложный, работает с базой данных, с EJB и хрен знает с чем ещё. Итак, начинаем мы его деплоить. Разворачивается war-файл, в ServletContextListener'е вызывается метод contextInitialized... И тут во время его выполнения - опа! - из-за какой-то ошибки (например, отсутствует нужный ей конфиг-файл) оно не может задеплоиться. Внимание, вопрос =) Может ли каким-либо образом веб-аппликейшн сообщить контейнеру о том, что оно не смогло задеплоиться и его нужно убрать из памяти?
- По-моему, контейнер сам его из памяти уберет.
- А как контейнер узнает о том, что это надо сделать? Метод contextInitialized НЕ бросает эксепшены. И, похоже, зря.
- Nо если отсутствует конфиг файл, то контейнер об этом узнает, так ведь?
- Domestic CatNак, проблемы взаимопонимания =) Я не про деплоймент дескриптор. Просто, приложения чего-то для счастья не хватает, чтобы запуститься, и оно хочет закрыться. Как оно может сказать контейнеру, что его не надо деплоить дальше, т.к. работать оно всё-равно не сможет, только юзверям маловразумительные ошибки показывать будет?
- Бросить иксепшн, и не ловить его
- Да, ура, но что если у приложения НЕ получилось подконнектиться к БД? Понятное дело, работать оно не может. Но сообщить об этом контейнеру похоже тоже не может. В итоге контейнер будет думать, что всё прекрасно работает, а юзерам будут валить ошибки одна за одной.
- Параграф SRV.2.3.2.1 спецификации (2.4)Цитата (Nobody @ 15.11.2004, 16:48) В итоге контейнер будет думать, что всё прекрасно работает, а юзерам будут валить ошибки одна за одной. Зачем ошибки? Сделай хендлер для этого случая и показывай юзерам "База данных временно недоступна". это лучше, чем 404.
- Domestic CatSRV.2.3.2.1 про конкретный сервлет. А хотелось бы про приложение в целом.
- Вообще-то весьма странная ситуация. Если деплоишь аппликейшн, то для усеров, так ведь? Тогда лучше все-таки показывать им че-то, хотя бы тo, что бд нe работаеt. А контейнер все равно над приложениeм напрягаться нe будет, может и выгрузит' из памяти, если надo, саm.
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|