java如何使用tldb MQ


java mq 客户端https://github.com/donnie4w/tlmq-j

MQ是构建分布式项目的一把利剑,tldb mq是一个高性能,易用,易维护,可靠的MQ服务

tlmq-j 的 mavan依赖配置:

<dependency>    
    <groupId>io.github.donnie4w</groupId>    
    <artifactId>tlmq-j</artifactId>    
    <version>0.0.2</version>
</dependency>

1.  先实例操作对象,SimpleClient第一个参数为服务器连接,第二个参数是mq的用户名密码,用=连接

MqClient mc = new SimpleClient("ws://127.0.0.1:5100", "mymq=123");

MqClient是统一接口,SimpleClient为tlmq-j实现的简易实现,实现了tldb mq的协议,支持断线重连,支持wss协议

2.  实现接收订阅信息的handler,用于接收服务器推送的信息

mc.pubJsonHandler((mb) -> {logger.info(mb.toString());});

3.  调用函数连接服务器

mc.connect();

4.  订阅topic,MQ服务器订阅的topic,推送相应的信息

mc.sub("userinfo")

5.  发布信息. 发布信息即广播信息给所有订阅该topic的节点

mc.pubJson("userinfo", "this is java pubJson")



 

其他函数说明:

  • 指定该连接接收信息,服务器可以聚合多条信息一起发送,参数表示原传输数据的最大大小,单位M

mc.mergeOn((byte) 10); 设定服务器压缩原数据大小上限 10M

  • subCancel是取消该节点订阅的topic

sc.subCancel("userinfo"); //订阅 topic “userinfo”

  • pullIdSync是拉取指定topic的当前id,也即最大id,tldb mq 每个topic都有唯一id,都会在发布时自增, 用于客户端比较判断本地是否有信息为接收到或丢失数据

long id = mc.pullIdSync("userinfo");

  • pullJsonSync与pullByteSync作用是拉取topic数据,第一个参数是topic,第二个参数是topic的id值

JMqBean jmb = mc.pullJsonSync("userinfo", 1);

MqBean mb = mc.pullByteSync("userinfo", 1);

tldb mq还有其他的接口

请看   如何使用tldb MQ有详细的接口说明