com.supermap.services.rest.repository

类 MongoDBRepoProvider

  • java.lang.Object
    • com.supermap.services.rest.repository.MongoDBRepoProvider
  • 直接已知子类:
    MongoDBObjSerializeRepoProvider


    public class MongoDBRepoProvider
    extends java.lang.Object
    
    基于MongoDB的临时资源存储实现
    支持过期删除 ;支持分页浏览 ; 支持进程内二级缓存
    已知问题 :
    1,过期时间需要考虑MongoDBCacheProvider端与MongoDB时区的差异 , 暂时没想到方法,加FAQ吧
    • 方法概要

      方法 
      限定符和类型 方法和说明
      boolean contain(java.lang.String groupId, java.lang.String id)
      包含指定临时资源对象
      protected java.lang.Object deserialize(java.lang.String className, java.lang.Object valueFromMongo) 
      void destroy()
      销毁仓库
      java.lang.Object get(java.lang.String groupId, java.lang.String cacheId)
      取得指定临时资源对象
      java.util.List<java.lang.String> getAllStatusKeys(java.lang.String groupId)
      取得所有临时资源的键值列表
      java.util.List<java.lang.String> getAllStatusKeys(java.lang.String groupId, int startIndex, int toIndex)
      取得开始索引到结束索引的临时资源的键值列表
      java.util.Map<java.lang.String,java.lang.Object> getAllStatusObject(java.lang.String groupId)
      取得指定组名下所有的临时资源的映射表
      java.util.Map<java.lang.String,java.lang.Object> getAllStatusObject(java.lang.String groupId, int startIndex, int toIndex)
      取得指定组名下开始索引到结束索引的所有的临时资源的映射表
      boolean init(RepositorySetting setting)
      初始化临时仓库设置
      static MongoClient initMongoClient(MongoDBRepoSetting cacheSetting, int timeout)
      初始化MongoDB客户端
      boolean remove(java.lang.String groupId, java.lang.String cacheId)
      删除指定临时资源对象
      protected java.lang.Class<?> safeClassForName(java.lang.String className) 
      boolean save(java.lang.String groupId, java.lang.String cacheId, java.lang.Object obj, int holdTime)
      存储临时资源
      protected MongoDBRepoProvider.SerializeResult serialize(java.lang.Object obj) 
      protected MongoDBRepoProvider.SerializeResult serializeResultBase(java.lang.Object obj) 
      boolean update(java.lang.String groupId, java.lang.String cacheId, java.lang.Object toUpdated)
      更新集合中指定临时资源缓存对象
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 字段详细资料

      • DISABLECONNCHECK_PROP_KEY

        public static final java.lang.String DISABLECONNCHECK_PROP_KEY
        
    • 构造器详细资料

      • MongoDBRepoProvider

        public MongoDBRepoProvider()
        
    • 方法详细资料

      • init

        public boolean init(RepositorySetting setting)
        

        初始化临时仓库设置

        参数:
        setting - 临时仓库的设置
        返回:
        从以下版本开始:
        8.0.0
      • get

        public java.lang.Object get(java.lang.String groupId,
                           java.lang.String cacheId)
        

        取得指定临时资源对象

        参数:
        groupId - 分组id
        cacheId - 缓存id
        返回:
        返回指定临时资源对象
        从以下版本开始:
        8.0.0
      • getAllStatusKeys

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

        取得所有临时资源的键值列表

        参数:
        groupId -
        返回:
        所有临时资源的键值列表
        从以下版本开始:
        8.0.0
      • getAllStatusKeys

        public java.util.List<java.lang.String> getAllStatusKeys(java.lang.String groupId,
                                                        int startIndex,
                                                        int toIndex)
        

        取得开始索引到结束索引的临时资源的键值列表

        参数:
        groupId -
        startIndex - 开始索引
        toIndex - 结束索引
        返回:
        临时资源的键值列表
        从以下版本开始:
        8.0.0
      • getAllStatusObject

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

        取得指定组名下所有的临时资源的映射表

        参数:
        groupId -
        返回:
        指定组名下所有的临时资源的映射表
        从以下版本开始:
        8.0.0
      • getAllStatusObject

        public java.util.Map<java.lang.String,java.lang.Object> getAllStatusObject(java.lang.String groupId,
                                                                          int startIndex,
                                                                          int toIndex)
        

        取得指定组名下开始索引到结束索引的所有的临时资源的映射表

        参数:
        groupId - 组名id
        startIndex - 开始索引
        toIndex - 结束索引
        返回:
        临时资源的映射表
        从以下版本开始:
        8.0.0
      • contain

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

        包含指定临时资源对象

        参数:
        groupId -
        id -
        返回:
        是否包含,是返回true,不是返回false
        从以下版本开始:
        8.0.0
      • save

        public boolean save(java.lang.String groupId,
                   java.lang.String cacheId,
                   java.lang.Object obj,
                   int holdTime)
        

        存储临时资源

        参数:
        groupId - 组名id
        cacheId - 缓存id
        obj - 临时资源对象
        holdTime - 保存时间,单位为秒
        返回:
        存储是否成功
        从以下版本开始:
        8.0.0
      • update

        public boolean update(java.lang.String groupId,
                     java.lang.String cacheId,
                     java.lang.Object toUpdated)
        

        更新集合中指定临时资源缓存对象

        参数:
        groupId -
        cacheId -
        toUpdated -
        返回:
        从以下版本开始:
        8.0.0
      • remove

        public boolean remove(java.lang.String groupId,
                     java.lang.String cacheId)
        

        删除指定临时资源对象

        参数:
        groupId -
        cacheId -
        返回:
        从以下版本开始:
        8.0.0
      • destroy

        public void destroy()
        

        销毁仓库

        从以下版本开始:
        8.0.0
      • initMongoClient

        public static MongoClient initMongoClient(MongoDBRepoSetting cacheSetting,
                                  int timeout)
        

        初始化MongoDB客户端

        参数:
        cacheSetting -
        返回:
        从以下版本开始:
        8.0.0
      • safeClassForName

        protected java.lang.Class<?> safeClassForName(java.lang.String className)
        
      • deserialize

        protected java.lang.Object deserialize(java.lang.String className,
                                   java.lang.Object valueFromMongo)