WARNING [main] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/WEB-INF/classes/org/apache/log4j] to the cache for web application [/ccos]

Registros de WARNING en el log por insuficiente espacio libre disponible después de eliminar las entradas de caché: WARNING [main] org.apache.catalina.webresources.Cache.getResource

Sintoma

En el registro de log catalina.out de Tomcat se registra multiples veces el siguiente warning:
XX-XXX-20XX 11:38:18.004 WARNING [main] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/WEB-INF/classes/org/apache/log4j] to the cache for web application [/ccos] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache

Causa

El problema aparece al recibir una cantidad relativamente grande de solicitudes HTTP para recursos (generalmente estáticos) en un período de tiempo relativamente corto en comparación con el tamaño y tiempo de vida (TTL) de la caché. Si la caché está alcanzando su máximo (10 MB de forma predeterminada) con más del 95% de su tamaño con entradas de caché frescas (frescas significa menos de 5 segundos en caché), entonces obtendrá un mensaje de advertencia por cada recurso web que Tomcat intente cargar en la caché.


Solución

Para solventar la situación, se debe de considerar aumentar los recursos de caché del Tomcat. Para ello:

1. En la carpeta de instalación de tomcat (Por lo general: C:\Program Files\Apache Software Foundation) dirigase a la ruta /conf.

2. En el archivo xml context.xml, agregue:
  1. <Resources cacheMaxSize="51200" />

El valor predeterminado es 10240 kilobytes, incluso cuando no se agrega a context.xml. Se debe de aumentar lo suficiente, hasta que las advertencias desaparezcan, por ejemplo, configúralo en un valor 5 veces más alto: 51200. 
Tomar en cuenta que las advertencias pueden volver en situaciones de tráfico más alto.

3. Guarde los cambios y reinice el servicio del tomcat.