将数据存储在 ServerEndpoint 中

Store data in ServerEndpoint

我正在使用 WebSockets 开发一个简单的应用程序。 客户端可以发送输入文本,而服务器端是通过 Java class 实现的,注释为 ServerEndpoint。这里收到的输入文本被解码并发送到所有打开的会话。

这行得通,但我想存储服务器收到的每条消息,以便当新客户端连接时(使用带有@OnOpen 注释的方法)它接收他在 "offline"。在不使用数据库的情况下,我可以在哪里存储这些消息?

使用单例模式解决了。我创建了一个 Singleton class 来存储一个 List,它在 onMessage 方法中得到更新。然后,在 onOpen 中,存储的消息被发送到刚刚打开与套接字连接的客户端。