spring websockets - 是否可以向离线用户发送消息?

时间:2014-05-25 08:44:47

标签: java spring websocket spring-websocket

我的数据库中有很多用户。 我希望能够通过websockets向他们发送消息,即使他们没有连接。 每当我向离线用户发送消息时 - 我希望消息在他连接之前为他排队,然后将所有消息推送给他。

类似的东西:

template.convertAndSendToUser(
                              "user123",
                               queue,
                               hello);

该功能甚至可能吗?

请记住我使用activeMQ作为我的消息总线。 (消息经纪人)。我上面描述的功能是jms \ message队列中的标准

编辑:我使用activemq创建了一个应用程序 - 当我向离线用户发送消息时,消息没有排队,它就丢失了。任何想法?

谢谢!

1 个答案:

答案 0 :(得分:0)

查看following

系统中通常不需要长时间离线的持久主题订阅者。原因是经纪人需要保留发送给所述订户的那些主题的所有消息。并且这个消息打桩可以随着时间的推移经纪人存储限制,例如导致系统的整体减速。

您始终可以使用JConsole或Web控制台等管理工具手动取消订阅非活动持久订阅者,但显然可以采取更多措施来帮助管理使用持久订阅者的系统(可能来自他们不喜欢的环境) ; t控制) 盯着5.6版本,我们在这个领域引入了一些改进。

这只是一个例子,但您可以使用相同的策略来解决您的问题。