在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:simplemq开源软件地址:https://gitee.com/l0km/simplemq开源软件介绍:simple Message Queuesimple Message Queue(以下简称simpleMQ)设计用来实现一个支持消息推送的中间件 simpleMQ基于redis和fastjson实现消息队列,频道订阅,K-V表, API在线文档(javadoc) : https://apidoc.gitee.com/l0km/simplemq 消息队列消息队列被设计成producer/consumer模型 频道订阅频道订阅被设计成publisher/subscriber模型 K-V表K-V表 实例化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 CitationsimpleMQ is released under the BSD 2-Clause license. @article{10km, Author = {Gu,YaDong [email protected]}, Title = {simpleMQ: simple Message Queue}, Year = {2017}} |
请发表评论