在Wildfly上重新部署应用程序后,f:websocket在JSF 2.3中停止工作

时间:2019-03-20 11:39:51

标签: jsf websocket wildfly

我正在使用websockets开发一个新应用程序,并决定在wildfly 15中使用JSF 2.3。一切正常,直到我尝试使用wildfly管理控制台重新部署我的代码。 Websockets在此之后停止工作,我可以在服务器重新启动后使其工作。我编写了一个简单的应用程序,使用xhtml正文中的以下代码测试此行为:

<f:websocket channel="test" />

重新部署应用程序后,我注意到我的页面一直在尝试向websocket端点发出请求,并在很短的间隔内(大约5个请求/秒)不断接收多个 101(交换协议)作为响应代码

Firefox network inspection

我用wireshark捕获流量,发现在此响应之后,wildfly发出了一个[em] websocket连接关闭[FIN] 。

我试图缩小这个问题的范围,在我看来,这就像一个野蝇虫。我使用的是Wildfly 15.0.1.Final和16.0.0.Final的全新安装。有人为此有解决方法或可行的解决方案吗?

1 个答案:

答案 0 :(得分:0)

我在glassfish上测试了一个非常简单的应用程序(在xhtml上仅使用f:websocket-没有支持bean,仅用于测试网络websocket连接),无法获得与wildfly相同的结果(重复101次响应),所以我以为这不适用于玻璃鱼(因此与Websocket PushContext not working anymore after application redeploy无关)

在阅读Kukeltje评论后,我决定开发一个更具功能性的测试应用程序,并注意到websocket在重新加载后停止在Glassfish上运行(但无法获得101条响应,就像在wildfly中一样)。

所以这必须与Websocket PushContext not working anymore after application redeploy

有关

Test application source

Test application WAR