标签:
zbus
https://git.oschina.net/rushmore/zbus
轻量级服务总线/消息队列
1)多种消息模式--支持生产者/消费者,发布订阅,RPC
2)丰富的API--C/C++/C#/JAVA/Python/Node.JS跨平台、多语言支持
3)开放协议标准--原生兼容HTTP协议(长连接),头部动态扩展
4)支持TrackServer与ZbusServer高可用横向动态扩容机制
jfinal
https://git.oschina.net/jfinal/jfinal
JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :)
因项目中用的jfinal和zbus,于是做了一个插件。方便使用。
插件git@osc地址如下:
https://git.oschina.net/myaniu/jfinal-zbus
使用说明如下:
1)导入dist目录下的jfinal-zbus-1.2.0.jar
2)在jfinal核心配置文件中的configPlugin函数中添加如下代码
//zbus插件 /* SingleBrokerConfig singleBrokerConfig = new SingleBrokerConfig(); singleBrokerConfig.setBrokerAddress("127.0.0.1:15555"); ZbusPlugin zp = new ZbusPlugin(singleBrokerConfig); HaBrokerConfig haBrokerConfig = new HaBrokerConfig(); haBrokerConfig.setTrackAddrList("127.0.0.1:16666;127.0.0.1:16667"); ZbusPlugin zp = new ZbusPlugin(haBrokerConfig); */ ZbusPlugin zp = new ZbusPlugin("127.0.0.1:15555"); zp.registMqProducer("MyMQ"); //mq,topic,mqTopic(别名,方便发送时使用) zp.registPubSubProducer("TopicMq", "Check","CheckTopic"); zp.registMqConsumer("MyMQ", new MessageCallback(){ @Override public void onMessage(Message msg, Session session) throws IOException { LOG.info("mq=" + msg.getMq() + ",body="+ msg.getBodyString()); } }); //mq,topic,MessageCallback zp.registPubSubConsumer("TopicMq", "Check", new MessageCallback(){ @Override public void onMessage(Message msg, Session session) throws IOException { LOG.info("mq=" + msg.getMq() + ",body="+ msg.getBodyString()); } }); me.add(zp);
Message msg = new Message(); msg.setBody("这时一条测试MQ的同步消息"); Zbus.syncSendToMq("MyMQ", msg, 1000); //Zbus.asyncSendToMq(mq, msg, callback); msg = new Message(); msg.setBody("这时一条测试Topic的异步消息"); //Zbus.syncSendToTopic(mqTopic, msg, timeout); Zbus.asyncSendToTopic("CheckTopic", msg, new ResultCallback(){ @Override public void onCompleted(Message msg) { LOG.info(msg.getMsgId()); } });
具体应用中可以用JSON序列化对象存入Message的body中,收到后再反序列化。
建议所有MQ名/topic名在统一的文件中定义,不要在代码中直接写字符串。
实现了Zbus的JFinal插件,JFinal里用Zbus更方便了。
标签:
原文地址:http://my.oschina.net/myaniu/blog/485345