我在Jboss 4.2.3.GA上运行Stripes Web应用程序,并试图在启动JBoss时调用方法。我创建了一个ServletContextListener来,像这样:为什么contextInitialized()被多次调用?
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次,当我开始我的服务器。任何想法可能是什么问题?谢谢。
将基本'System.out.println'你'contextInitialized'的顶部,以确保你所看到的,你认为你所看到的。顺便说一下,我已经看到了这样一个问题:将Tomcat连接到NetBeans以供开发时使用的已知错误会导致[Tomcat双启动Web应用程序](https://stackoverflow.com/q/16702011/642706) 。 – 2017-06-01 22:11:52