我正在使用wicket 6.20并创建了一个简单的wicket应用程序。它在Windows上工作正常。当我在tomcat 8下将它部署到Linux服务器时,我注意到WicketApplication类构造函数在启动时被调用了两次。同样,WicketApplication的Init()方法也会被调用两次。在init()方法中创建的任何对象都会产生2个实例。所以它不仅仅是日志条目。
因为在Windows上它只被调用一次,我认为它可能是tomcat配置问题。任何帮助表示赞赏
public WicketApplication(){
logger.info("Creating WicketApplication .... ");
logger.info("Current Class Loader : " + this.getClass().getClassLoader().getClass().getName());
logger.info("Parent Class Loader : " + this.getClass().getClassLoader().getParent().getClass().getName());
logger.info("Done creating WicketApplication .... ");
}
日志文件 -
INFO - ContextLoader - Root WebApplicationContext:初始化在1070毫秒内完成
INFO - WicketApplication - 创建WicketApplication ....
INFO - WicketApplication - 当前类加载器:org.apache.catalina.loader.WebappClassLoader
INFO - WicketApplication - 父类加载器:java.net.URLClassLoader
INFO - WicketApplication - 完成创建WicketApplication ....
以上日志条目再次重复
INFO - ContextLoader - Root WebApplicationContext:初始化在793 ms完成
INFO - WicketApplication - 创建WicketApplication ....
INFO - WicketApplication - 当前类加载器:org.apache.catalina.loader.WebappClassLoader
INFO - WicketApplication - 父类加载器:java.net.URLClassLoader
INFO - WicketApplication - 完成创建WicketApplication ....
Tomcat server.xml只有一个此webapp的部署 -
<Host appBase="hellowebapps" autoDeploy="true" name="www.xyz.com" unpackWARs="true">
<Context docBase="hello" path="" reloadable="false" sessionCookiePath="/"/>
</Host>
&#13;