報(bào)表性能優(yōu)化方案之報(bào)表緩存路徑
Posted on 2015-09-11 14:37 FineReport——報(bào)表技術(shù)領(lǐng)跑者 閱讀(185) 評(píng)論(0) 編輯 收藏 所屬分類: Java報(bào)表技術(shù)知識(shí)1. 問(wèn)題描述
若啟用了磁盤緩存,默認(rèn)的會(huì)在C:\Documents and Settings\Administrator\.FineReport80(windows下)下創(chuàng)建cache即緩存文件夾,一般呢,C盤的空間會(huì)很小,如保存在C盤會(huì)增加對(duì)C盤的壓力,那么有沒(méi)有方法讓其保存到別的盤符下呢?
解決方案提供工具:報(bào)表開發(fā)工具FineReport。
2. 解決方案
通過(guò)修改%FR_HOME%\WebReport\WEB-INF\resources\目錄下的cache.xml文件(報(bào)表管理平臺(tái)中設(shè)置緩存,提交后會(huì)生成該文件,如果沒(méi)有則新建),給Basic標(biāo)簽增加cacheDirectory屬性,如將緩存文件保存在D:\Cache目錄下,具體代碼如下:
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屬性表示的就是緩存路徑,另外一旦自定義緩存路徑了,那么默認(rèn)的緩存文件夾就會(huì)被自動(dòng)刪除。
按照上述的設(shè)置后,重啟Web服務(wù)器,緩存文件將會(huì)保存在D盤Cache目錄下,若沒(méi)有Cache文件夾,會(huì)自動(dòng)創(chuàng)建該文件夾;當(dāng)web服務(wù)器關(guān)閉時(shí),報(bào)表緩存會(huì)自動(dòng)清除,即刪除Cache文件夾的所有文件。
注:緩存路徑一定要設(shè)置為某個(gè)獨(dú)立的文件夾下,切忌與其他文件共用一個(gè)目錄,如報(bào)表的緩存目錄跟Web服務(wù)器工程的相同,則會(huì)刪除web服務(wù)器工程下的內(nèi)容。