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()
-
方法概要
方法 限定符和类型 方法和说明 boolean
contain(java.lang.String groupId, java.lang.String id)
protected void
decodeParamResultEntity(ParamResultEntity obj)
hsqldb内部采用fastjson类序列化java对象。void
destroy()
protected ParamResultEntity
encodeParamResultEntity(ParamResultEntity obj)
hsqldb内部采用fastjson类序列化java对象。java.lang.Object
get(java.lang.String groupId, java.lang.String id)
java.util.List<java.lang.String>
getAllStatusKeys(java.lang.String groupId)
java.util.Map<java.lang.String,java.lang.Object>
getAllStatusObject(java.lang.String groupId)
protected HsqldbRepoProviderDaemon
getDaemon()
protected BasicDataSource
getDatasoruce_previous()
protected BasicDataSource
getDatasoruce()
protected int
getPort()
boolean
init(RepositorySetting setting)
protected boolean
init(RepositorySetting setting, com.supermap.services.rest.repository.HsqldbRepoProvider.DBCPDataSourceFactory dsFactory, HsqldbRepoProviderDaemon daemon)
protected boolean
isAvaliable()
boolean
remove(java.lang.String groupId, java.lang.String id)
boolean
save(java.lang.String groupId, java.lang.String id, java.lang.Object obj, int holdTime)
boolean
update(java.lang.String groupId, java.lang.String id, java.lang.Object toUpdate)
-
-
-
方法详细资料
-
init
public boolean init(RepositorySetting setting)
-
init
protected boolean init(RepositorySetting setting, com.supermap.services.rest.repository.HsqldbRepoProvider.DBCPDataSourceFactory dsFactory, HsqldbRepoProviderDaemon daemon)
-
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()
-
getDaemon
protected HsqldbRepoProviderDaemon getDaemon()
-
getPort
protected int getPort()
-
isAvaliable
protected boolean isAvaliable()
-
-