队列-发布订阅模式

如何实现主题订阅模式

我们可以将Domain视为订阅主题,将每个订阅者注册到Domain的节点(Node)上,发布者将消息逐一更新每个节点,订阅者监控每个属于自己的节点的变化事件获取订阅消息,收到后清空内容等待下一个消息,多个消息用一个arraylist存放。

❏ Publisher:是一个主题发布者,它通过pl.get(topic)获取topic(主题)的所有订阅者节点,并将消息更新到每个节点上,如果有多个追加到arraylist存放。

❏ Subscriber:是一个消息订阅者,他通过subscrib(String topic,String subscribeName,LastestListener lister)实现消息订阅,其中3个参数分别是主题名、订阅者名称、事件处理实现。Subscriber实现了LastestListener事件处理接口happenLastest(LastestEvent le),这个接口会传入更新的节点内容对象,然后Subscriber用一个空的arraylist清空内容,等待下一次接收消息。happenLastest有个boolean返回值,如果返回false,它会一直监控变化,继续有新的变化时还会进行事件调用;如果返回true,它完成本次事件调用后就终止。

原文地址:https://www.cnblogs.com/muzinan110/p/11052128.html