报表性能优化方案之报表缓存路径
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> </CacheParameters>
1注:Basic的cacheDirectory属性表示的就是缓存路径,另外一旦自定义缓存路径了,那么默认的缓存文件夹就会被自动删除。
按照上述的设置后,重启Web服务器,缓存文件将会保存在D盘Cache目录下,若没有Cache文件夹,会自动创建该文件夹;当web服务器关闭时,报表缓存会自动清除,即删除Cache文件夹的所有文件。
注:缓存路径一定要设置为某个独立的文件夹下,切忌与其他文件共用一个目录,如报表的缓存目录跟Web服务器工程的相同,则会删除web服务器工程下的内容。
<!--EndFragment-->相关推荐
nercon 2020-02-22
NET追求者BLOG 2020-01-06
donghedonghe 2013-05-31
fairytale0 2013-07-19
myspace 2019-11-12
kka 2019-11-12
heavenautumn 2020-05-31
etnahh 2014-07-11
向日葵Solros 2014-07-11
向日葵Solros 2014-07-10
etnahh 2014-05-21
xusong 2014-05-15
CaiKanXP 2019-12-21
shmilyILY 2014-01-14
道北吴彦祖 2014-01-12
tndroid 2013-07-04
xixixi 2013-07-04
lfjjia 2013-08-08
bruce 2014-03-07