报表缓存配置
报表缓存配置
当报表数据量较大,计算过程中消耗大量内存,或计算时间比较长,我们建议开启报表缓存设置.如果发布的报表类型是file,那么只要设置alwaysReloadDefine为no,就开启了报表缓存机制,它在计算时,在指定的时间内,报表定义文件仅加载一次,报表仅运算一次.其它操作都从缓存中提取,如翻页等等.如果发布的文件类型是defineBean,那么,alwaysReloadDefine将失效,系统会启动缓存机制,如果不需要缓存,建议通过一个动态变化的值来命名beanName属性,当然在request中保存的对象名与之一一对应.
alwaysReloadDefine为系统是否启用缓存提供了一个总开关,我们还可以通过tag标签的useCache与timeout两个属性来控制具体的每一个报表是否使用缓存,当设置useCache为yes,timeout为30时,系统在运算过程中将,将启动缓存,并且每次计算仅取30分以内生成的有效报表,如果没有此时间内的,则产生一个新报表.
报表缓存功能配置在reportConfig.xml中,2.3.2节中的(7)(8)(9)(16)有说明,如下所示:
<config><name>cachedReportDir</name> <value>E:\work\report\cached</value></config> <config><name>cachedIdPrefix</name><value>A</value> </config><config><name>cachedReportTimeout</name><value>30</value> </config> <config><name>alwaysReloadDefine</name><value>yes</value></config>