CacheManager- 缓存管理器类

阅读(3102) 标签: 缓存, 集群,

CacheManager缓存管理器类,用于管理系统的缓存。例如可以缓存运算后的报表、缓存报表定义、 设缓存路径、设置集群对象等等。

实例请参考API实例 / 运算报表 / 展现报表

 

l  构造函数

类名:com.raqsoft.report.cache.CacheManager
 

l  可用方法

cacheReportDefine

  法:  public ReportEntry cacheReportDefine(java.lang.String reportName, IReport rptDefine)

参数说明: 

reportName - 报表名

rptDefine - 报表定义

功能说明:  缓存报表定义,如果缓存中此报表名已存在则抛出异常

Returns  :  ReportEntry 报表项

调用举例: 

 

cacheReport

  法:   public ReportCache cacheReport(java.lang.String reportName, IReport rpt)

参数说明: 

reportName - String 报表名,用于生成ReportEntry

rpt - IReport 运算后报表

功能说明:  缓存运算后的报表
Returns  :  ReportChache 报表缓存

调用举例: 

 

deleteTempFiles

  法:  public void deleteTempFiles()
功能说明:  删除cache目录下的所有临时文件 

调用举例: 

 

deleteReportEntry

  法:  public void deleteReportEntry(java.lang.String reportName)

参数说明:  reportName - 报表名

功能说明:  把指定的报表定义的缓存从CacheManager中删除

调用举例: 

 

deleteAllReport

  法:  public void deleteAllReport()

功能说明:  删除所有缓存的报表和文件

调用举例: 

 

getInstance

  法:  public static CacheManager getInstance()

功能说明:  取得此类的实例,单一实例模型

Returns  :  CacheManager类的实例

调用举例: 

 

getRealtimeReload

  法:  public boolean getRealtimeReload()

功能说明:  获取是否实时读取报表定义

Returns  :  true表示实时读取报表定义,false表示不实时读取报表定义

调用举例: 

 

getCalculatingReports

  法:   public ReportCache[] getCalculatingReports()

功能说明:  返回本地所有正在计算的报表缓存

Returns  ReportCache[]

调用举例: 

 

getCalculatingPagers

  法:  public PagerCache[] getCalculatingPagers()

功能说明:  返回本地所有正在计算分页的分页缓存

Returns  PagerCache[]

调用举例: 

 

setRealtimeReload

  法:  public void setRealtimeReload(boolean sign)

参数说明:  sign - 是否实时读取报表定义,true:, false:

功能说明:   设置是否实时读取报表定义

调用举例: 

 

setCompressMode

  法:  public void setCompressMode(boolean bZip)

参数说明:  bZip - 压缩方式,true:使用zip压缩,false:不压缩

功能说明:  设置压缩方式

调用举例: 

 

getCompressMode

  法:  public boolean getCompressMode()

功能说明:  返回压缩方式

Returns  :  压缩方式,true:使用zip压缩,false:不压缩

调用举例: 

 

getCachePath

  法:  public java.io.File getCachePath()

功能说明:  取缓存路径,缺省为系统临时文件夹

Returns  :  缓存路径

调用举例: 

 

setCachePath

  法:  public void setCachePath(java.lang.String path)

参数说明:  path -缓存路径

功能说明:  设缓存路径

调用举例: 

 

setCachePath

  法:  public void setCachePath(java.io.File path)

参数说明:  path - File 缓存文件夹对象

功能说明:  设缓存路径

调用举例: 

 

getReportDefineLoader

  法:  public IReportDefineLoader getReportDefineLoader()

功能说明:  取缺省的报表定义装载器

Returns  :  IReportDefineLoader报表定义装载器

调用举例: 

 

setReportDefineLoader

  法:  public void setReportDefineLoader(IReportDefineLoader loader)

参数说明:  loader - IReportDefineLoader报表定义装载器

功能说明:   设缺省的报表定义装载器

调用举例: 

 

getReportEntries

  法:  public java.util.Map getReportEntries()

功能说明:  取所有报表项,此MapreportName对应ReportEntry 注:对此Map进行操作时必须synchronized(map)

Returns  :   Map 所有报表项

调用举例: 

 

getReportEntry

  法:  public ReportEntry getReportEntry(java.lang.String reportName)

参数说明:  reportName - 报表名

功能说明:  按报表名取报表项,若不存在,则产生并返回

Returns  :  ReportEntry 报表项

调用举例: 

 

getReportEntry

  法:  public ReportEntry getReportEntry(java.lang.String reportName,

     IReportDefineLoader loader)

参数说明:

reportName - 报表名

loader - 报表装载器

功能说明:  按报表名取报表项,若不存在,则产生并返回

Returns  :   ReportEntry 报表项

调用举例: 

 

hasReportEntry

  法:  public boolean hasReportEntry(java.lang.String reportName)

参数说明:  reportName - 报表名

功能说明:  判断缓存中是否有某个报表定义

Returns    存在返回true,不存在返回false

调用举例: 

 

modifyReportDefine

  法:  public void modifyReportDefine(java.lang.String reportName)

参数说明:  reportName - 报表名

功能说明:  更新报表定义,此时将清除所有报表名对应的缓存

调用举例: 

 

getReportCache

  法:  public ReportCache getReportCache(java.lang.String reportName, Context ctx, long timeout)

参数说明:

reportName - String 报表名

ctx - Context 取报表和运算报表所用的上下文

timeout - long 过期时间,如果过期则产生新的ReportCache

功能说明:  对新产生的请求用context得到运算后报表缓存,如果不存在则创建一新的。

Returns  :  ReportChache 报表缓存

调用举例: 

 

getReportCache

  法:  public ReportCache getReportCache(java.lang.String reportName, java.lang.String reportCacheId)

参数说明: 

reportName - String 报表名

reportCacheId - 报表缓存标识号

功能说明:  取报表缓存,此时必须保证报表缓存已产生。
 注:1、对同一报表定义,可能会根据不同参数计算出不同的报表缓冲对象
 2、当调用setReportModified时会导致报表标识号对应的报表被清除。 

Returns  :  ReportChache 报表缓存

调用举例: 

 

setIDPrefix

  法:  public void setIDPrefix(java.lang.String prefix)

参数说明:  prefix - String id前缀

功能说明:  设置id的前缀,防止多进程重名

调用举例: 

 

getIDPrefix

  法:  public java.lang.String getIDPrefix()

功能说明:  id的前缀

Returns  :  id的前缀

调用举例: 

 

getCluster

  法:  public Cluster getCluster()

功能说明:  返回集群对象

Returns  :  Cluster集群对象

调用举例:   

 

setCluster

  法:  public void setCluster(Cluster cluster)

参数说明:  cluster - Cluster集群对象

功能说明:  设置集群对象,需有授权

调用举例: 

 

isFileShared

  法:  public boolean isFileShared()

功能说明:  返回是否共享硬盘

Returns  :  是否共享硬盘,true为共享,false为不共享

调用举例: 

 

setFileShared

  法:  public void setFileShared(boolean isShared)

参数说明:  isShared -是否共享硬盘,true为共享,false为不共享

功能说明:  设置是否共享硬盘

调用举例: 

 

setLogMode

  法:  public static void setLogMode(boolean isShow)

参数说明:  boolean – isShow  true:输出,false:不输出

功能说明:  设置是否输出缓存日志

调用举例 

 

getLogMode

  法:  public static boolean getLogMode()

功能说明:  设置是否输出缓存日志

Returns :  返回是否输出缓存日志

调用举例 

 

getRemoteReportEntry

  法:  public ReportEntry getRemoteReportyEntry(java.lang.String reportName)

参数说明:  String – reportName  报表名

功能说明:  报表定义不在本地。从远程服务器读取报表缓存

Returns :  ReportEntry  报表

调用举例 

 

getCurrentWriteCount

  法:  public static int getCurrentWriteCount()

功能说明:  返回当前正在写文件的线程数

Returns :  int – 整数 -正在写文件的线程数

调用举例 

 

setUuidAsId(boolean b)

  法:  public void setUuidAsId(boolean b)

参数说明:   b - true表示使用uuid作为缓存标识;false表示不使用uuid作为缓存标识。缺省为false

功能说明:  设置是否使用uuid作为缓存标识。要想使用uuid作为标识请在系统启动时调用此方法。

Returns : 

调用举例