При разработке приложения Java EE я часто сталкивался с «проблемой», что делать что-то при запуске, остановке приложения и т. д. Теперь для Weblogic, например, есть механизм для этого (прослушиватель жизненного цикла приложения). Но если вы хотите, чтобы в вашем приложении не было материалов, специфичных для сервера приложения, вам нужно найти другое решение. Некоторые рекомендуют использовать сервлет, который загружается при запуске, и "злоупотребляют" init ()
/ destroy ()
.
Другие говорят, что используют ServletContextListener
. Для меня последний вариант звучит лучше всего (согласно java-документации для ServletContextListener
. К сожалению, сегодня я попробовал JBoss 7, где кажется, что веб-службы jax-ws инициализируются перед любым другим сервлетом
, таким образом, до того, как ServletContextListener
получит уведомление.
Короче говоря, я просто столкнулся с некоторым сервером приложений проблемы здесь - или есть какой-либо «более подходящий» стандартизованный способ Java EE для регистрации и выполнения каких-либо действий перед инициализацией какого-либо веб-сервиса, сервлета или чего-либо еще?