Tomcat

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

  • August 13, 2019

我剛剛從 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. 應該是 <Resources>(複數)
  2. 如果需要,可以在 <Resources><PreResource> 部分中定義 FileResourceSet 等等……還沒有很好的記錄:上下文容器

這對我來說適用於 Tomcat 8.0.15 和 Liferay Portal 6.2.1 GA2(它有很多靜態文件 + JDBC 池):

&lt;?xml version='1.0' encoding='utf-8'?&gt;
&lt;Context&gt;
   &lt;WatchedResource&gt;WEB-INF/web.xml&lt;/WatchedResource&gt;
   &lt;WatchedResource&gt;${catalina.base}/conf/web.xml&lt;/WatchedResource&gt;
   &lt;Resources
       cachingAllowed="true"
       cacheMaxSize="100000"
   /&gt;
   &lt;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;"
   /&gt;
&lt;/Context&gt;

引用自:https://serverfault.com/questions/644415