Почему contextInitialized () называется множественным раз?

Я запускаю веб-приложение Stripes на Jboss 4.2.3.GA и пытаюсь вызвать метод при запуске JBoss. Я создал ServletContextListener примерно так:

public class TimerContextListener implements ServletContextListener {

    @Inject
    private TimerManager timerManager;

    public void contextInitialized(ServletContextEvent servletcontextevent) {
        ((Injector) servletcontextevent.getServletContext().getAttribute(GuiceServletContextListener.KEY)).injectMembers(this);
        timerManager.stopAllTimers();
        timerManager.startTimer();
    }

    public void contextDestroyed(ServletContextEvent servletcontextevent) {

    }
}

и добавил запись в web.xml примерно так:

<listener>
        <listener-class>com.lawless.web.servletContextListeners.TimerContextListener</listener-class>
    </listener>

, но contextInitialized () вызывается 3 раза, когда я запускаю свой сервер. Есть идеи, в чем проблема? Спасибо.

9
задан skaffman 22 August 2010 в 20:33
поделиться

1 ответ

Хорошо, я разобрался. Его вызвали 3 раза, потому что у меня было 3 виртуальных хоста, определенных в моем jboss-web.xml. Не уверен, почему это вызывает такое поведение. Если кто-нибудь может объяснить причину, я был бы признателен.

7
ответ дан 4 December 2019 в 14:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: