我使用Vaadin开发了一个webapp并使其在嵌入式Jetty服务器上运行。现在,为了将它部署在高效的服务器上,我需要它在Tomcat v7服务器上运行。 我拿了WAR文件(用Maven构建)并将其部署到Tomcat。 现在,当我在浏览器中调用Tomcat URL时,webapp会启动并显示Vaadin加载圈。几秒钟后,圆圈消失,Tomcat停止。
Catalina Logfile说明如下:
Nov 17, 2015 11:37:55 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 5830 ms
Nov 17, 2015 11:37:59 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Nov 17, 2015 11:37:59 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Nov 17, 2015 11:37:59 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Nov 17, 2015 11:38:01 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SCHWERWIEGEND: The web application [/myWebapp] is still processing a request that has yet to finish. This is very likely to create memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation.
Nov 17, 2015 11:38:01 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SCHWERWIEGEND: The web application [/myWebapp] created a ThreadLocal with key of type [com.vaadin.util.CurrentInstance$1] (value [com.vaadin.util.CurrentInstance$1@d8b2a4cd]) and a value of type [java.util.HashMap] (value [{interface com.vaadin.server.VaadinRequest=com.vaadin.util.CurrentInstance@d59e9a8b, class com.vaadin.server.VaadinSession=com.vaadin.util.CurrentInstance@bb1b7c4b, class com.vaadin.server.VaadinService=com.vaadin.util.CurrentInstance@5b5dec40, interface com.vaadin.server.VaadinResponse=com.vaadin.util.CurrentInstance@ea949e2b, class com.vaadin.ui.UI=com.vaadin.util.CurrentInstance@174bb6a7}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
Nov 17, 2015 11:38:01 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
哪种错可能导致这种行为?我是否需要执行某些步骤才能在Tomcat上部署Jetty webapp?