我的数据库中有很多用户。 我希望能够通过websockets向他们发送消息,即使他们没有连接。 每当我向离线用户发送消息时 - 我希望消息在他连接之前为他排队,然后将所有消息推送给他。
类似的东西:
template.convertAndSendToUser(
"user123",
queue,
hello);
该功能甚至可能吗?
请记住我使用activeMQ作为我的消息总线。 (消息经纪人)。我上面描述的功能是jms \ message队列中的标准
编辑:我使用activemq创建了一个应用程序 - 当我向离线用户发送消息时,消息没有排队,它就丢失了。任何想法?
谢谢!
答案 0 :(得分:0)
查看following:
系统中通常不需要长时间离线的持久主题订阅者。原因是经纪人需要保留发送给所述订户的那些主题的所有消息。并且这个消息打桩可以随着时间的推移经纪人存储限制,例如导致系统的整体减速。
您始终可以使用JConsole或Web控制台等管理工具手动取消订阅非活动持久订阅者,但显然可以采取更多措施来帮助管理使用持久订阅者的系统(可能来自他们不喜欢的环境) ; t控制) 盯着5.6版本,我们在这个领域引入了一些改进。
这只是一个例子,但您可以使用相同的策略来解决您的问题。