Как инициализировать веб-приложение? - PullRequest
4 голосов
/ 06 мая 2010

Мое веб-приложение будет развернуто в виде пакета WAR в экземпляре Jetty. Перед обслуживанием запросов необходимо выполнить большое кеширование. Как мне вызвать метод кэширования раньше всего? статический void main () в стандарте веб-приложения?

1 Ответ

4 голосов
/ 06 мая 2010

Стандартный (старый) способ - это кодирование сервлета, который заботится о инициализации в своем методе init(). Вы заставляете его инициализироваться при запуске приложения, добавляя load-on-startup положительное значение в web.xml

  <servlet>
        <servlet-name>myinit</servlet-name>
        <servlet-class>com.example.MyInitServlet</servlet-class>
        <load-on-startup>2</load-on-startup>
  </servlet>

Сегодня более привычно иметь бобовый контейнер, такой как Spring, который заботится о таких вещах (создание экземпляров сервисных объектов, предварительная загрузка кэшируемых разделяемых данных и т. Д.).

Примечание: этот рецепт для веб-приложений в целом, а не только для Jetty.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...