Tomcat 8 org.apache.catalina.webresources.Cache.getResource


10

我刚刚从7.0.52升级到8.0.14。

我得到了很多静态图像文件:

org.apache.catalina.webresources.Cache.getResource无法将[/base/1325/WA6144-150x112.jpg]处的资源添加到缓存中,因为收回过期的缓存条目后可用空间不足-请考虑增加最大大小缓存的

我没有指定任何特定的资源设置,并且在7.0.52中没有得到此设置。

我发现在启动时的错误报告中提到了这种情况,该错误报告应该已修复。对我来说,这不是在启动时发生的,而是在请求资源时不断发生的。

还有其他人遇到这个问题吗?

谢谢。

尝试至少仅禁用高速缓存,但是我找不到如何指定不使用高速缓存的示例。这些属性已从8中的上下文中删除。尝试添加资源,但无法正确获取配置。

<Resource name="file" 
    cachingAllowed="false"
    className="org.apache.catalina.webresources.FileResourceSet"
/>  

Answers:


14

您有几个错误:

  1. 应该是<Resources>(复数)
  2. 如果需要,可以在<Resources> <PreResource>部分中定义FileResourceSet,等等。。。尚未详细记录:上下文容器

这对Tomcat 8.0.15和Liferay Portal 6.2.1 GA2(具有很多静态文件+ JDBC池)来说对我来说很好用:

<?xml version='1.0' encoding='utf-8'?>
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
    <Resources
        cachingAllowed="true"
        cacheMaxSize="100000"
    />
    <Resource name="jdbc/liferay"
        auth="Container"
        type="javax.sql.DataSource"
        maxActive="64"
        maxIdle="16"
        maxWait="1000"
        username="root"
        password=""
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost/lp_621_ga2_patched?useUnicode=true&amp;characterEncoding=UTF-8&amp;useFastDateParsing=false&amp;autoReconnect=true"
        validationQuery="select 1;"
    />
</Context>

0

取得档案 tomcat/conf/logging.properties

更改

.level = FINE 

.level = SEVERE (or ERROR)

并评论那条线

org.apache.catalina.webresources.Cache.level = SEVERE
#org.apache.catalina.webresources.Cache.level = FINE
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.