• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

simplemq: simple Message Queue(以下简称simpleMQ)设计用来实现一个支持消息推送的中 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

simplemq

开源软件地址:

https://gitee.com/l0km/simplemq

开源软件介绍:

simple Message Queue

simple Message Queue(以下简称simpleMQ)设计用来实现一个支持消息推送的中间件

simpleMQ基于redis和fastjson实现消息队列,频道订阅,K-V表,

API在线文档(javadoc) : https://apidoc.gitee.com/l0km/simplemq

消息队列

消息队列被设计成producer/consumer模型

RedisProducer.java

RedisConsumer.java

频道订阅

频道订阅被设计成publisher/subscriber模型

RedisPublisher.java

RedisSubscriber.java

K-V表

K-V表

RedisTable.java

实例化

RedisFactory.java用于创建上述的类的实例

调用示例

RedisConsumer示例

public class TestRedisConsumer {	private static final Logger logger = LoggerFactory.getLogger(TestRedisConsumer.class);	@Test	public void testRedisConsumer(){		RedisConsumer consumer = RedisFactory.getConsumer(JedisPoolLazy.getDefaultInstance());		Channel<String> list1 = new Channel<String>("list1",String.class,new IMessageAdapter<String>(){			@Override			public void onSubscribe(String t) throws SmqUnsubscribeException {				logger.info("{}:{}","list1",t);			}} );		Channel<String> list2 = new Channel<String>("list2",String.class,new IMessageAdapter<String>(){			@Override			public void onSubscribe(String t) throws SmqUnsubscribeException {				logger.info("{}:{}","list2",t);			}} );		Channel<String> list3 = new Channel<String>("list3",String.class,new IMessageAdapter<String>(){			@Override			public void onSubscribe(String t) throws SmqUnsubscribeException {				logger.info("{}:{}","list3",t);			}} );		consumer.register(list1,list2);		consumer.register(list3);		consumer.unregister(list1);	}}

RedisSubscriber示例

public class TestRedisSubscriber {	private static final Logger logger = LoggerFactory.getLogger(TestRedisSubscriber.class);	@Test	public void test() {		RedisSubscriber subscriber = RedisFactory.getSubscriber(JedisPoolLazy.getDefaultInstance());		Channel<String> chat1 = new Channel<String>("chat1",String.class,new IMessageAdapter<String>(){			@Override			public void onSubscribe(String t) throws SmqUnsubscribeException {				logger.info("{}:{}","chat1",t);			}} );		Channel<String> chat2 = new Channel<String>("chat2",String.class,new IMessageAdapter<String>(){			@Override			public void onSubscribe(String t) throws SmqUnsubscribeException {				logger.info("{}:{}","chat2",t);			}} );		Channel<String> chat3 = new Channel<String>("chat3",String.class,new IMessageAdapter<String>(){			@Override			public void onSubscribe(String t) throws SmqUnsubscribeException {				logger.info("{}:{}","chat3",t);			}} );		subscriber.register(chat1,chat2);				subscriber.register(chat3);		subscriber.unsubscribe(chat1.name);		subscriber.unsubscribe();	}}

License and Citation

simpleMQ is released under the BSD 2-Clause license.

@article{10km,  Author = {Gu,YaDong [email protected]},  Title = {simpleMQ: simple Message Queue},  Year = {2017}}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap