1. 問題描述web
若啓用了磁盤緩存,默認的會在C:\Documents and Settings\Administrator\.FineReport80(windows下)下建立cache即緩存文件夾,通常呢,C盤的空間會很小,如保存在C盤會增長對C盤的壓力,那麼有沒有方法讓其保存到別的盤符下呢?windows
解決方案提供工具:報表開發工具FineReport。緩存
2. 解決方案服務器
經過修改%FR_HOME%\WebReport\WEB-INF\resources\目錄下的cache.xml文件(報表管理平臺中設置緩存,提交後會生成該文件,若是沒有則新建),給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屬性表示的就是緩存路徑,另一旦自定義緩存路徑了,那麼默認的緩存文件夾就會被自動刪除。開發工具
按照上述的設置後,重啓Web服務器,緩存文件將會保存在D盤Cache目錄下,若沒有Cache文件夾,會自動建立該文件夾;當web服務器關閉時,報表緩存會自動清除,即刪除Cache文件夾的全部文件。code
注:緩存路徑必定要設置爲某個獨立的文件夾下,切忌與其餘文件共用一個目錄,如報表的緩存目錄跟Web服務器工程的相同,則會刪除web服務器工程下的內容。orm