跳到主要内容

API 参考

ZHub 客户端和管理接口的完整参考。

客户端 API

创建连接

// 基础连接
ZHubClient zhub = new ZHubClient("127.0.0.1:1216", "group1", "app1");

// 带认证连接
ZHubClient zhub = new ZHubClient("127.0.0.1:1216", "group1", "app1", "token123");

参数

  • addr: 服务地址 IP:端口
  • groupId: 组名
  • appId: 应用ID(唯一)
  • auth: 认证码(可选)

消息操作

发布订阅

// 发布消息
zhub.publish("user.login", "用户登录");

// 订阅消息
zhub.subscribe("user.login", message -> {
System.out.println("收到: " + message);
});

广播消息

// 广播给所有客户端
zhub.broadcast("topic-abc", "hello!");

延时消息

// 30秒后发送
zhub.delay("order.timeout", "订单超时", 30000);

RPC 调用

提供服务

// 提供 RPC 服务
zhub.rpcSubscribe("user.getInfo", IType.STRING, request -> {
String userId = request.getValue();
return request.render("用户信息: " + userId);
});

调用服务

// 调用 RPC 服务
RpcResult<String> result = zhub.rpc("user.getInfo", "user123", IType.STRING);
if (result.isSuccess()) {
System.out.println("结果: " + result.getResult());
}

定时任务

// 订阅定时任务
zhub.timer("T:A", () -> {
System.out.println("定时执行");
});

分布式锁

// 获取锁
Lock lock = zhub.tryLock("resource-key", 30);
if (lock.success()) {
try {
// 执行业务逻辑
} finally {
lock.unLock();
}
}

管理接口

查看服务状态

# 查看服务信息
curl http://127.0.0.1:711/_/info

# 查看版本
curl http://127.0.0.1:711/_/version

管理操作

# 清理内存
curl http://127.0.0.1:711/_/cleanup

# 重载定时任务
curl http://127.0.0.1:711/timer/reload

# 重载权限配置
curl http://127.0.0.1:711/auth/reload

发送消息

# 发布消息
curl -X POST http://127.0.0.1:711/message/send \
-d "type=publish&name=user.login&value=用户登录"

常用类型

IType 类型

IType.STRING    // 字符串
IType.INT // 整数
IType.LONG // 长整数
IType.DOUBLE // 浮点数
IType.MAP // 键值对

错误码

错误码说明
0成功
501请求失败
505请求超时
401认证失败