跳到主要内容

创建连接

支持的框架

普通Java、SpringBoot、Redkale、Golang

private ZHubClient zhub;

@Before
public void init() {
// 参数:地址、组名、appid(唯一)、token
zhub = new ZHubClient("127.0.0.1:1216", "test-hub", "DEV-LOCAL-001", "token-12345");
}

说明

  • appid 必须唯一,RPC 消息回复使用此标识
  • groupid 协同消费组,同组内只有一个消费者处理消息

使用示例

// 单个主题
zhub.subscribe("user-login", message -> System.out.println("登录: " + message));

// 类型化消息(使用TypeToken)
zhub.subscribe("user-profile", new TypeToken<UserProfile>(){}, profile ->
System.out.println("用户: " + profile.getUsername()));

性能优化

异步处理

// 避免阻塞消息处理
zhub.subscribe("topic-abc", message -> {
CompletableFuture.runAsync(() -> {
processMessage(message);
});
});

错误处理

zhub.subscribe("topic-abc", message -> {
try {
processMessage(message);
} catch (Exception e) {
logger.error("消息处理失败", e);
}
});