【发布时间】:2023-03-22 18:42:01
【问题描述】:
我实际上是在做噩梦。我的 webapp 使用 websockets 进行聊天,问题就来了:
使用 Glassfish 4.1u13 一切正常,直到我激活了访问日志监控。从那以后,每个 ws 请求都进行了 2 次,并且 Web 套接字无法进行握手。 https://java.net/jira/browse/GLASSFISH-21007
试图更新到玻璃鱼 4.1.1 -> 问题 PERSIST
尝试切换到 Payara 4.1.1.115(这是 glassfish 的修补版本),一切顺利。我现在可以在 Glassfish 实例中拥有 websocket 和访问日志记录。
几分钟后,我注意到当我重新加载页面时,客户端应用程序和服务器之间的通信并不总是完成。 检查网络 -> 正确握手,但无法交换数据。
然后,在服务器端,我制作了 2 个系统:一个在请求 servlet 的过滤器中,一个在 websocket 端点中。 每个请求都到达服务器并进行握手但有时@OnOpen 不会被调用,即使 wss 升级到 101。这怎么可能?尝试更新到 Tyrus 1.12(payara 使用 1.11)并将其降级到 1.8.1(这是运行 Glassfish 4.1u13 使用的版本),但没有任何反应。
如何调试这种行为?
【问题讨论】:
-
我打算建议你在 Payara Github 上打开一个问题,但我可以看到你已经这样做了!如果其他人有同样的问题,问题的链接在这里:github.com/payara/Payara/issues/536
标签: glassfish-4 grizzly java-websocket tyrus payara