because there was insufficient free space available after evicting expired cache entries - consider

一、背景

使用tomcat作为图片服务器,以前使用很多次都没有问题,只有这次出现了以下错误。

二、错误信息

06-Jan-2022 09:36:33.255 WARNING [http-nio-80-exec-55] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/K0234/21/009/0E64D DB6/0E64D DB6@211_A_5_1$1_1.jpg] to the cache for web application [/interface] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache

三、解决方法

context.xmlcontext节点加上这个

<Resources cachingAllowed="true" cacheMaxSize="100000" />

具体说明: http://tomcat.apache.org/tomcat-8.0-doc/config/resources.html

Ⅰ、介绍

Resources元素表示 Web 应用程序可用的所有资源。这包括类、JAR 文件、HTML、JSP 和任何其他有助于 Web 应用程序的文件。提供实现以使用目录、JAR 文件和 WAR 作为这些资源的来源,并且可以扩展资源实现以支持以其他形式存储的文件,例如在数据库或版本化存储库中。

默认情况下会缓存资源。

注意:只有当 webapp 不依赖文件系统直接访问自己的资源并使用 ServletContext 接口中的方法来访问它们时,才可能运行具有非基于文件系统的资源实现的 webapp。

Resources 元素可以嵌套在 Context组件中。如果不包含它,将自动创建基于默认文件系统的资源,这足以满足大多数要求。

Ⅱ、属性

通用属性

Resources的所有实现都支持以下属性:

属性描述
allowLinking如果此标志的值为true,则将允许在 Web 应用程序内部使用符号链接,指向 Web 应用程序基本路径内部或外部的资源。如果未指定,则标志的默认值为false.注意:此标志在 Windows 平台(或任何其他没有区分大小写的文件系统的操作系统)上不得设置为 true,因为它将禁用区分大小写检查,允许 JSP 源代码泄露,以及其他安全问题。
cacheMaxSize静态资源缓存的最大大小(以千字节为单位)。如果未指定,则默认值为10240 (10 兆字节)。该值可能会在 Web 应用程序运行时更改(例如通过 JMX)。如果缓存使用的内存多于新限制,缓存将尝试随着时间的推移减小大小以满足新限制。如有必要,将减少cacheObjectMaxSize以确保它不大于 cacheMaxSize/20.
cacheObjectMaxSize将放置在缓存中的静态资源的最大大小。如果未指定,则默认值为512 (512 KB)。如果这个值大于 cacheMaxSize/20它会减少到 cacheMaxSize/20。该值可能会在 Web 应用程序运行时更改(例如通过 JMX)。
cacheTtl重新验证缓存条目之间的时间量(以毫秒为单位)。如果未指定,则默认值为5000(5 秒)。该值可能会在 Web 应用程序运行时更改(例如通过 JMX)。当资源被缓存时,它将继承缓存时有效的 TTL 并保留该 TTL,直到资源从缓存中被逐出,而不管后续可能对此属性进行的任何更改。
cachingAllowed如果此标志的值为true,将使用静态资源的缓存。如果未指定,则标志的默认值为true. 该值可能会在 Web 应用程序运行时更改(例如通过 JMX)。当缓存被禁用时,当前在缓存中的任何资源都会从缓存中清除。
className要使用的实现的 Java 类名。这个类必须实现org.apache.catalina.WebResourceRoot 接口。如果未指定,将使用标准值(定义如下)。
trackLockedFiles控制是否启用轨道锁定文件功能。如果启用,所有对返回锁定文件的对象的方法的调用并且需要关闭以释放该锁定(例如 ServletContext.getResourceAsStream())将执行许多额外的任务。调用方法时的堆栈跟踪将被记录并与返回的对象相关联。返回的对象将被包装,以便可以检测调用 close() (或等效)以释放资源的点。一旦资源被释放,对对象的跟踪将停止。Web 应用程序关闭时所有剩余的锁定资源将被记录,然后关闭。如果未指定,false将使用默认值。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值