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


10

ฉันเพิ่งอัพเกรดจาก 7.0.52 เป็น 8.0.14

ฉันได้รับสิ่งนี้สำหรับไฟล์ภาพนิ่งจำนวนมาก:

org.apache.catalina.webresources.Cache.getResource ไม่สามารถเพิ่มทรัพยากรได้ที่ [/base/1325/WA6144-150x112.jpg] ไปยังแคชเนื่องจากมีพื้นที่ว่างไม่เพียงพอหลังจาก evicting รายการแคชที่หมดอายุแล้ว - พิจารณาการเพิ่มขนาดสูงสุด ของแคช

ฉันไม่ได้ระบุการตั้งค่าทรัพยากรเฉพาะและฉันไม่ได้รับสิ่งนี้เป็น 7.0.52

ฉันพบว่ามีการกล่าวถึงสิ่งนี้เมื่อเริ่มต้นในรายงานข้อผิดพลาดที่ได้รับการแก้ไข สำหรับฉันสิ่งนี้ไม่ได้เกิดขึ้นเมื่อเริ่มต้น แต่ตลอดเวลาเมื่อมีการร้องขอทรัพยากร

มีคนอื่นที่มีปัญหานี้หรือไม่?

ขอบคุณ

พยายามอย่างน้อยก็ปิดการใช้งานแคช แต่ฉันไม่สามารถหาตัวอย่างของวิธีการระบุไม่ให้ใช้แคชได้ แอตทริบิวต์ได้หายไปจากบริบทใน 8 ลองเพิ่มทรัพยากรแล้ว แต่ไม่สามารถกำหนดค่าได้

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

คำตอบ:


14

คุณมีข้อผิดพลาดเล็กน้อย:

  1. ควรเป็น <Resources> (พหูพจน์)
  2. FileResourceSet สามารถกำหนดได้ในส่วน <Resources> <PreResource> หากจำเป็นและอื่น ๆ ... ยังไม่มีเอกสารที่ดี: Context Container

สิ่งนี้ใช้ได้ผลกับฉันด้วย 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>

0

ไปที่ไฟล์ tomcat/conf/logging.properties

เปลี่ยนแปลง

.level = FINE 

ถึง

.level = SEVERE (or ERROR)

และแสดงความคิดเห็นในบรรทัดนั้น

org.apache.catalina.webresources.Cache.level = SEVERE
#org.apache.catalina.webresources.Cache.level = FINE
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.