session - Tomcat 8 - websockets session 和复制

标签 session tomcat websocket

我用 tomcat 8 websockets 创建了一个简单的项目。这是一个片段:

public void onMessage(String message, Session session) 
    throws IOException, InterruptedException {

    // Print the client message for testing purposes
    System.out.println("Received: " + message);

    // Send the first message to the client
    session.getBasicRemote().sendText("This is the first server message");

如您所见,websocket 使用对象 Session (javax.websocket.session) 我的问题是,当我进入 tomcat 的管理器应用程序时,我在监视器上看不到任何 session 。 我相信,因为它寻找的是 httpSession 而不是 websocket session 。

所以 2 个问题:

1) 有没有办法在 tomcat 实例上监控这些 websocket session ?

2) 对于 websocket session 是否也有像 session replication (httpSession) 这样的方法?

谢谢!

最佳答案

有趣的是,似乎有一种方法可以根据 WebSocket 事件更新 HttpSession。 看这个Discussion about WebSocket SPEC 175

您可以尝试使用 Spring-Session .它可以在其 HttpSession 集成之上处理 session 复制和 WebSocket session 。

关于session - Tomcat 8 - websockets session 和复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20177040/

相关文章:

java - 如何配置 Wildfly 9 以故障转移 HTTP session

Eclipse WTP 插件无 Apache Tomcat 适配器

tomcat - 在应用服务器 Tomcat/GlassFish 中运行动态 Web 项目

java - 如何连接后端的Spring WebSocket请求?

node.js - 当 Node 服务器重新启动时,如何存储/保留套接字连接

python - 在 sqlalchemy 中跨不同模块访问相同的 db.session

php - 使用 session 用户 ID 将数据插入数据库的正确行

python - 使用 Flask-Session 扩展,未在 flask session 中设置 key

java - 在我的动态 Web 项目中运行 Tomcat 服务器时出错

node.js - 在nodejs中在不同路径但相同端口上打开websocket时出现EADDRINUSE错误