Posted on 2015-09-11 14:37
FineReport——報表技術領跑者 閱讀(176)
評論(0) 編輯 收藏 所屬分類:
Java報表技術知識
1. 問題描述
若啟用了磁盤緩存,默認的會在C:\Documents and Settings\Administrator\.FineReport80(windows下)下創建cache即緩存文件夾,一般呢,C盤的空間會很小,如保存在C盤會增加對C盤的壓力,那么有沒有方法讓其保存到別的盤符下呢?
解決方案提供工具:報表開發工具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文件夾的所有文件。
注:緩存路徑一定要設置為某個獨立的文件夾下,切忌與其他文件共用一個目錄,如報表的緩存目錄跟Web服務器工程的相同,則會刪除web服務器工程下的內容。