Web applications 发布/订阅如何通知登录订户应用程序的用户?

Web applications 发布/订阅如何通知登录订户应用程序的用户?,web-applications,ejb,soa,publish-subscribe,Web Applications,Ejb,Soa,Publish Subscribe,我在理论上了解pub/sub模式,现在我想在实践中实现它 我有一个web应用程序(订阅者),其中包含一个正在监听一个名为“新闻”的频道的服务。此频道由其他应用程序(发布者)列表填充 所以,我想知道,如何实时通知登录用户收到的新闻。(就像推特“新推特”那样) 我的想法是: 在我的消费者服务中,我可以将收到的新闻存储在列表中,例如: @Consumer("myChannel") public void recNews(New new) { allNews.add(new); } 然后,在我

我在理论上了解pub/sub模式,现在我想在实践中实现它

我有一个web应用程序(订阅者),其中包含一个正在监听一个名为“新闻”的频道的服务。此频道由其他应用程序(发布者)列表填充

所以,我想知道,如何实时通知登录用户收到的新闻。(就像推特“新推特”那样)

我的想法是:

在我的消费者服务中,我可以将收到的新闻存储在列表中,例如:

@Consumer("myChannel")
public void recNews(New new) {
    allNews.add(new);
}
然后,在我的应用程序中配置计时器以读取和重置该列表,并将当前状态(lastNews)发送到我的web控制器:

@Timer("1 per minute")
public void lastNews() {
    lastNews.add(allNews);
    allNews = new ArrayList();
}

我说得对吗?或者有更好的解决方案吗?

与其构建自定义解决方案,不如研究Signal()。它为您处理许多管道和基础设施问题,非常适合web应用程序

订阅者在尝试接收消息之前,会告诉发布者(频道)它想要接收消息。渠道不是某种被动的流动,而是一个主动的过程

使用

或者调查