Код инициализации запуска приложения на Джерси при запуске для инициализации приложения - PullRequest
7 голосов
/ 15 сентября 2011

У меня есть приложение, созданное на Джерси. Мне нужно выполнить некоторую инициализацию при запуске webapp / war в контейнере Tomcat 7, запустив специальный логин / код приложения.

Какой лучший способ сделать это с Джерси? Я использовал ContextListener с contextInitialized () раньше в среде сервлета. Мне нужно убедиться, что ресурсы Джерси загружены, прежде чем я сделаю этот звонок.

1 Ответ

13 голосов
/ 15 сентября 2011

Не уверен, что вы подразумеваете под "ресурсы Джерси загружены раньше", но если вы действительно хотите подключиться к процессу инициализации Джерси. У Джерси есть несколько точек "мониторинга" плагинов (не очень широко рекламируемых или задокументированных) и что яЯ собираюсь описать, что вызывается после инициализации AbstractResourceModel - поэтому сразу после запуска приложения.

Попробуйте это:

@Provider
public class Listener implements AbstractResourceModelListener {

    @Override
    public void onLoaded(AbstractResourceModelContext modelContext) {
        System.out.println("##### resource model initiated");
    }
}

Это должно происходить только один раз за жизненный цикл приложения, я не оченьуверен в перезагрузке, но вам не нужно беспокоиться об этом, если вы не используете эту функцию (в любом случае, вы должны поставить некоторую проверку там, чтобы избежать многократного вызова, если это может вызвать некоторые проблемы).

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