大家好,我现在使用的是Tomcat 8,我的项目加载遇到了困难。主要问题是需要3-5分钟才能进入网站。而通常情况下,加载只需要不到10秒。
以前没有这样的问题,只是今天随机发生。我已经尝试通过将下面的代码添加到context.xml中来禁用JAR扫描程序。根据日志中的时间戳,扫描占用了大部分时间。这是我能找到的唯一解决方案,但是这不起作用。如果有其他解决方案,请让我知道,非常感谢!:)
Log Message: org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
<Context>
...
<JarScanner scanClassPath="false" scanAllFiles="false" scanAllDirectories="false"
scanBootstrapClassPath="false" scanManifest="false">
</JarScanner>
...
</Context>
日志中显示的另一个警告是
Log message: WARNING [localhost-startStop-5] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [harvester] registered the JDBC driver [org.h2.Driver] but failed to unregister it when the web application
2条答案
按热度按时间6tdlim6h1#
请尝试以下文章:https://cwiki.apache.org/confluence/display/TOMCAT/HowTo+FasterStartUp#HowToFasterStartUp-Configureyourwebapplication
对我来说第一个建议给了显著的改善:启动时间从约4分钟加速到约1分钟。
这将禁用对jar进行注解扫描,因此只有当您的应用程序足够简单,可以将所有servlet配置保存在web.xml中时,这才有意义。
在
WEB-INF/web.xml
文件中:1.在元素上设置metadata-complete=“true”属性。
1.添加一个空元素。
q8l4jmvw2#
看看你是否有足够的内存。有各种各样的原因导致tomcat启动缓慢。在我的情况下,它是内存不足。
但是,您也可以配置和增加tomcat的内存,增加内存有助于tomcat预先占用一些空间。
要做到这一点,去 Catalina 。 bat 和设置-