1. 問題描述
若啟用了磁盤緩存,默認的會在C:\Documents and Settings\Administrator\.FineReport80(windows下)下創(chuàng)建cache即緩存文件夾,一般呢,C盤的空間會很小,如保存在C盤會增加對C盤的壓力,那么有沒有方法讓其保存到別的盤符下呢?
解決方案提供工具:報表開發(fā)工具FineReport。
2. 解決方案
通過修改%FR_HOME%\WebReport\WEB-INF\resources\目錄下的cache.xml文件(報表管理平臺中設(shè)置緩存,提交后會生成該文件,如果沒有則新建),給Basic標簽增加cacheDirectory屬性,如將緩存文件保存在D:\Cache目錄下,具體代碼如下:
1.<?xml version="1.0" encoding="UTF-8"?>
2. <CacheParameters xmlVersion="20110221">
3. <Basic maxMemSize="4194304" cacheDirectory="D:\Cache"/>
4. <DBConfig>
5. <CacheConfig maxElementsInMemory="10" memoryStoreEvictionPolicy="LRU" timeToIdleSeconds="0" timeToLiveSeconds="0"/>
6. </DBConfig>
7. <CPTConfig>
8. <CacheConfig maxElementsInMemory="10" memoryStoreEvictionPolicy="DISK_CPT" timeToIdleSeconds="200" timeToLiveSeconds="40"/>
9. </CPTConfig>
10. <AlwaysReloadTpl>
11. <![CDATA[true]]>
12. </AlwaysReloadTpl>
13. </CacheParameters>
1注:Basic的cacheDirectory屬性表示的就是緩存路徑,另外一旦自定義緩存路徑了,那么默認的緩存文件夾就會被自動刪除。
按照上述的設(shè)置后,重啟Web服務(wù)器,緩存文件將會保存在D盤Cache目錄下,若沒有Cache文件夾,會自動創(chuàng)建該文件夾;當web服務(wù)器關(guān)閉時,報表緩存會自動清除,即刪除Cache文件夾的所有文件。
注:緩存路徑一定要設(shè)置為某個獨立的文件夾下,切忌與其他文件共用一個目錄,如報表的緩存目錄跟Web服務(wù)器工程的相同,則會刪除web服務(wù)器工程下的內(nèi)容。