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

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

我刚刚从 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"
/>  

答案1

您有几个错误:

  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>

答案2

获取文件tomcat/conf/logging.properties

改变

.level = FINE 

.level = SEVERE (or ERROR)

并注释掉该行

org.apache.catalina.webresources.Cache.level = SEVERE
#org.apache.catalina.webresources.Cache.level = FINE

相关内容