我在理论上知道 pub/sub 模式,现在我想在实践中实现它。
我有一个 Web 应用程序(订阅者),其中包含一个正在侦听名为“新闻”的频道的服务。此频道由其他应用程序(发布者)的列表填充。
所以,我想知道,如何实时通知登录用户收到的消息。(类似于 twitter “new twitts” 之类的东西)。
我的想法:
在我的消费者服务中,我可以将收到的新闻存储在列表中,例如:
@Consumer("myChannel")
public void recNews(New new) {
allNews.add(new);
}
然后,在我的应用程序中配置一个计时器来读取和重置该列表并将当前状态(lastNews)发送到我的网络控制器:
@Timer("1 per minute")
public void lastNews() {
lastNews.add(allNews);
allNews = new ArrayList();
}
我对吗?还是有更好的解决方案?