com.supermap.services.rest.repository

类 HsqldbRepoProvider

  • java.lang.Object
    • com.supermap.services.rest.repository.HsqldbRepoProvider


  • public class HsqldbRepoProvider
    extends java.lang.Object
    

    基于HSQL数据库的临时资源存储实现 ,该仓库支持多节点共享。
    即iServer A 创建的临时资源,在iServer B也可见,前提是iServer A 与 B 共用一个Hsqldb 服务。
    内置进程内缓存,性能相对较高

    从以下版本开始:
    8.0.0
    • 构造器详细资料

      • HsqldbRepoProvider

        public HsqldbRepoProvider()
        
    • 方法详细资料

      • save

        public boolean save(java.lang.String groupId,
                   java.lang.String id,
                   java.lang.Object obj,
                   int holdTime)
        
      • encodeParamResultEntity

        protected ParamResultEntity encodeParamResultEntity(ParamResultEntity obj)
        
        hsqldb内部采用fastjson类序列化java对象。
        在将Map类型的对象序列化为fastjson过程中,如果Map中的键或值为Array类型,List类型或Set类型,fastjson内部都会处理成数组(json不区分,统一处理成数组)
        如此当把json反序列化为Map的过程中,因为根据反射,不能获取到Map中的键和值中集合类型,fastjson 会将集合的内容反序列化为JSONArray 。
        如此会给后续处理带来不必要的麻烦。所以这里统一处理一下,将Map中的集合类型编码一下。
        参数:
        obj -
      • decodeParamResultEntity

        protected void decodeParamResultEntity(ParamResultEntity obj)
        
        hsqldb内部采用fastjson类序列化java对象。
        在将Map类型的对象序列化为fastjson过程中,如果Map中的键或值为Array类型,List类型或Set类型,fastjson内部都会处理成数组(json不区分,统一处理成数组)
        如此当把json反序列化为Map的过程中,因为根据反射,不能获取到Map中的键和值中集合类型,fastjson 会将集合的内容反序列化为JSONArray 。
        如此会给后续处理带来不必要的麻烦。所以这里统一处理一下,将刚刚由fastjson反序列话出来的对象,再做一下二次解码。将其中的JSONArray解出来。
        参数:
        obj -
      • update

        public boolean update(java.lang.String groupId,
                     java.lang.String id,
                     java.lang.Object toUpdate)
        
      • remove

        public boolean remove(java.lang.String groupId,
                     java.lang.String id)
        
      • contain

        public boolean contain(java.lang.String groupId,
                      java.lang.String id)
        
      • getAllStatusObject

        public java.util.Map<java.lang.String,java.lang.Object> getAllStatusObject(java.lang.String groupId)
        
      • getAllStatusKeys

        public java.util.List<java.lang.String> getAllStatusKeys(java.lang.String groupId)
        
      • get

        public java.lang.Object get(java.lang.String groupId,
                           java.lang.String id)
        
      • destroy

        public void destroy()
        
      • getDatasoruce

        protected BasicDataSource getDatasoruce()
        
      • getDatasoruce_previous

        protected BasicDataSource getDatasoruce_previous()
        
      • getPort

        protected int getPort()
        
      • isAvaliable

        protected boolean isAvaliable()