2012-05-22 3 views
0

Как отключить загрузку @Webservice во время запуска, чтобы сохранить некоторое время загрузки в xfire?Отключить загрузку @Webservice при запуске

У меня есть куча услуг с аннотацией @Webservice. Все они загружаются во время запуска и вызывают медленный запуск. Я не хочу загружать их, если я тестирую не-службы в экземпляре dev. Мне интересно, есть ли способ отключить это, установив системное свойство или что-то в этом роде.

+0

Вы имеете в виду отключить загрузку самого серфера xfire во время запуска webapp? – Jeshurun

+0

Да. Могу ли я это сделать, установив некоторое системное свойство? – Bala

ответ

0

Конечно, в вашем web.xml, где настроить XFIRE сервлет:

<servlet> 
    <servlet-name>xfire</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>-1</load-on-startup> 
</servlet> 

Отрицательное значение нагрузки на старте означает сервлет только инициализируется, когда контейнер «чувствует, как он», и для большинства контейнеров, это означает, что, когда первый запрос приходит в

Из спецификации сервлетов:.

нагрузка-на-старте элемент указывает на то, что этот сервлет должен быть загружается (создается экземпляр и вызывается его init()) при запуске веб-приложения . Необязательное содержимое этого элемента должно быть целым числом , указывающим порядок загрузки сервлета. Если значение представляет собой отрицательное целое число, или элемент отсутствует, то контейнер может загружать сервлет всякий раз, когда он выбирает. Если значение является положительным 128 целым числом или 0, контейнер должен загрузить, а инициализировать сервлет при развертывании приложения. Контейнер должен гарантировать, что сервлеты, помеченные нижними целыми числами, загружаются перед сервлетами, отмеченными более высокими целыми числами. Контейнер может выбрать порядок загрузки сервлетов с одинаковым значением нагрузки при запуске.

Так что проконсультируйтесь с документацией для своего веб-контейнера, чтобы убедиться, что это имеет желаемый эффект в вашем случае.