解说 1. RedisMessageListenerContainer Redis订阅发布的监听容器,你的消息发布、订阅配置都必须在这里面实现 addMessageListener(MessageListenerAdapter,PatternTopic) 新增订阅频道及订阅者,订阅者必须有相关方法处 ...
分类:
编程语言 时间:
2019-03-15 19:34:21
阅读次数:
396
观察者模式就是在对象之间定义了一对多的依赖,这样一来,当一个这个对象改变状态,依赖它的对象会收到通知并发生改变并自动更新 其实也就是发布-订阅模式,发布者发布消息,订阅者获取消息,没订阅就不会收到消息 这里我们模仿一下微信公众号的推送消息 接下来测试一下 ...
分类:
其他好文 时间:
2019-03-15 09:21:49
阅读次数:
144
一、Observable的冷和热 Observable 热:直播。所有的观察者,无论进来的早还是晚,看到的是同样内容的同样进度,订阅的时候得到的都是最新时刻发送的值。 Observable 冷:点播。 新的订阅者每次从头开始。 冷的Observable例子: 一开始有个订阅者, 两秒后又有个订阅者, ...
分类:
Web程序 时间:
2019-03-10 17:36:09
阅读次数:
330
JMS 消息模型 JMS消息服务应用程序结构支持两种模型:点对点模型,发布者/订阅者模型。 (1)点对点模型(Queue) 一个生产者向一个特定的队列发布消息,一个消费者从这个队列中依次读取消息。 模型特点:只有一个消费者获得消息。 (2)发布者/订阅者模型(Topic) 0个或多个订阅者可以接受特 ...
分类:
其他好文 时间:
2019-02-17 00:24:36
阅读次数:
204
Vue 采用数据劫持结合发布者-订阅者模式的方式来实现数据的响应式,通过Object.defineProperty来劫持数据的setter,getter,在数据变动时发布消息给订阅者,订阅者收到消息后进行相应的处理。 要实现mvvm的双向绑定,就必须要实现以下几点: Compile—指令解析系统,对 ...
分类:
其他好文 时间:
2019-02-14 20:19:11
阅读次数:
172
在读《设计模式》时,观察者模式一直理解为订阅者/发布者 ,其实这两种模式还是有差异的。 一、观察者模式 相关概念:目标和观察者是基类,目标提供维护观察者的一系列方法,观察者提供更新接口。具体观察者和具体目标继承各自的基类,然后具体观察者把自己注册到具体目标里,在具体目标发生变化时候,调度观察者的更新 ...
分类:
其他好文 时间:
2019-02-11 12:38:00
阅读次数:
206
主体模式和路由模式很像 路由模式是精确匹配 主体模式是模糊匹配 依然先通过管理后台添加一个交换机. 生产者 消费者1 消费者2 运行结果: 由于消费者1的路由键只有 "product.add" 和 "product.update" ,不包含"product.delete", 而消费者2的路由键是"p ...
分类:
其他好文 时间:
2019-02-06 23:53:00
阅读次数:
256
路由模式下,生产者发送消息时需要指定一个路由键(routingKey),交换机只会把消息转发给包含该路由键的队列 这里,我们改变一下声明交换机的方式. 我们通过管理后台添加一个交换机. 添加后,生产者和消费者的代码中就不需要再声明交换机了.同样,也可以通过管理后台添加队列,那么代码中也不需要声明队列 ...
分类:
其他好文 时间:
2019-02-06 11:55:33
阅读次数:
141
前面讲到了简单队列和工作队列. 这两种队列有个非常明显的缺点 : 生产者发送的消息,只能进入到一个队列. 消息只能进入到一个队列就意味着消息只能被一个消费者消费. 尽管工作队列模式中,一个队列中的消息可以被多个消费者消费,但是,具体到每一条消息,却只能被一个消费者消费. 如果想要一个消息被多个消费者 ...
分类:
其他好文 时间:
2019-02-05 19:37:39
阅读次数:
204
英文原文:https://github.com/ReactiveX/RxJava/wiki/Backpressure Backpressure(背压、反压力) 在rxjava中会经常遇到一种情况就是被观察者发送消息太快以至于它的操作符或者订阅者不能及时处理相关的消息。那么随之而来的就是如何处理这些未 ...
分类:
编程语言 时间:
2019-02-02 23:08:30
阅读次数:
183