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

10

Acabo de actualizar de 7.0.52 a 8.0.14.

Estoy obteniendo esto para muchos archivos de imagen estática:

org.apache.catalina.webresources.Cache.getResource No se puede agregar el recurso en [/base/1325/WA6144-150x112.jpg] a la memoria caché porque no había suficiente espacio libre disponible después de desalojar las entradas de memoria caché caducadas: considere aumentar el tamaño máximo del caché

No he especificado ninguna configuración de recursos en particular, y no obtuve esto para 7.0.52.

He encontrado mención de que esto sucedió al inicio en un informe de error que supuestamente se solucionó. Para mí, esto sucede no en el inicio sino constantemente cuando se solicita el recurso.

¿Alguien más tiene este problema?

Gracias.

Intento al menos deshabilitar el caché, pero no puedo encontrar un ejemplo de cómo especificar no usar el caché. Los atributos han pasado del contexto en 8. Han intentado agregar un recurso pero no pueden obtener la configuración correcta.

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

Respuestas:

14

Tienes pocos errores:

  1. Debe ser <Recursos> (plural)
  2. FileResourceSet podría definirse en la sección <Resources> <PreResource> si es necesario, etc. aún no está bien documentado: el Context Conteiner

Esto funciona bien para mí con Tomcat 8.0.15 y Liferay Portal 6.2.1 GA2 (que tiene muchos archivos estáticos + grupo 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>
Fuad Efendi
fuente
0

Llegar al archivo tomcat/conf/logging.properties

Cambio

.level = FINE 

a

.level = SEVERE (or ERROR)

y comentar esa línea

org.apache.catalina.webresources.Cache.level = SEVERE
#org.apache.catalina.webresources.Cache.level = FINE
Jeff Zhuk
fuente