ObjectClient#

包路径:

org.yuanrong.datasystem.object

对象缓存客户端。

构造方法#

public ObjectClient()#

连接到 Worker 并创建一个对象缓存客户端实例。

返回:

对象缓存客户端实例。

ObjectClient(ConnectOptions connectOptions)#

连接到 Worker 并创建一个对象缓存客户端实例。

参数:
  • connectOptions - 用于建立连接的参数,详见 ConnectOptions 章节。

返回:

对象缓存客户端实例。

公共方法#

public Buffer create(String objectKey, int size, CreateParam param)#

调用 Worker 客户端创建一个对象。

参数:
  • objectKey - 要创建的对象 ID。对象名称的合法字符为:英文字母(a-zA-Z)、数字以及 -_!@#%^*()+=:;,最大长度为255字节。

  • size - 对象的大小(字节)。

  • param - 创建参数,详见 CreateParam 章节。

返回:

对象的 Buffer

异常:

DataSystemException - 如果客户端已关闭,将抛出异常。

public void put(String objectKey, ByteBuffer buffer, CreateParam param, List<String> nestedObjectKeys)#

调用 Worker 客户端放置一个对象(发布语义)。

参数:
  • objectKey - 对象 ID。对象名称的合法字符为:英文字母(a-zA-Z)、数字以及 -_!@#%^*()+=:;,最大长度为255字节。

  • buffer - 用户的 ByteBuffer 对象。

  • param - 创建参数,详见 CreateParam 章节。

  • nestedObjectKeys - 依赖于 objectKey 的对象列表。

异常:

DataSystemException - 如果客户端已关闭,将抛出异常。

public void put(String objectKey, ByteBuffer buffer, CreateParam param)#

调用 Worker 客户端放置一个对象(发布语义)。

参数:
  • objectKey - 对象 ID。对象名称的合法字符为:英文字母(a-zA-Z)、数字以及 -_!@#%^*()+=:;,最大长度为255字节。

  • buffer - 用户的 ByteBuffer 对象。

  • param - 创建参数,详见 CreateParam 章节。

异常:

DataSystemException - 如果客户端已关闭,将抛出异常。

public List<Buffer> get(List<String> objectKeys, int timeoutMs)#

调用 Worker 客户端获取所有给定对象键的缓冲区。

参数:
  • objectKeys - 对象键的列表,最多不超过10000个。对象名称的合法字符为:英文字母(a-zA-Z)、数字以及 -_!@#%^*()+=:;,单个对象名称最大长度为255字节。

  • timeoutMs - 获取操作的超时时间(毫秒)。

返回:

对象 Buffer 列表。

异常:

DataSystemException - 如果客户端已关闭,将抛出异常。

public List<String> gIncreaseRef(List<String> objectKeys)#

增加数据系统中对象的全局引用计数。

参数:
  • objectKeys - 要增加引用的对象键列表,不能为空,最多不超过10000个。对象名称的合法字符为:英文字母(a-zA-Z)、数字以及 -_!@#%^*()+=:;,单个对象名称最大长度为255字节。

返回:

增加引用失败的对象键列表。

异常:

DataSystemException - 如果客户端已关闭,将抛出异常。

public List<String> gDecreaseRef(List<String> objectKeys)#

减少数据系统中对象的全局引用计数。全局引用计数为0时,删除对象。

参数:
  • objectKeys - 要减少引用的对象键列表,不能为空,最多不超过10000个。对象名称的合法字符为:英文字母(a-zA-Z)、数字以及 -_!@#%^*()+=:;,单个对象名称最大长度为255字节。

返回:

减少引用失败的对象键列表。

异常:

DataSystemException - 如果客户端已关闭,将抛出异常。

public int queryGlobalRefNum(String objectKey)#

获取指定对象的全局引用计数数量。

参数:
  • objectKey - 要查询的对象键。对象名称的合法字符为:英文字母(a-zA-Z)、数字以及 -_!@#%^*()+=:;,最大长度为255字节。

返回:

引用计数数量。

异常:

DataSystemException - 如果客户端已关闭,将抛出异常。

public void close()#

删除对象客户端,断开与数据系统 Worker 之间的连接,释放客户端持有的资源。

public void finalize()#

finalize() 方法用于释放 JNI 端的对象客户端指针,由于java垃圾回收的不确定性,该操作不能保证会被执行。

强烈建议使用 close() 方法显式释放资源,而不是依赖 finalize()。