Under high load, given a @ServerEndpoint like @ServerEndpoint(value="/websocket/{key}", configurator=MyConfigurator.class) public class ExecutionMonitoringEndpoint{ ... @OnMessage public void onMessage(@PathParam("key") String key, String payload) { ... } } //where MyConfigurator is used to only inject a custom property like ServerEndpointConfig.conf.getUserProperties().put(...); we noticed that the captured PathParam ("key" in this case) was sometimes mixed up with another concurrent request - causing double subscriptions in our pub/sub application. Changing the above to @ServerEndpoint(value="/websocket/{key}", configurator=MyConfigurator.class) public class ExecutionMonitoringEndpoint{ ... @OnMessage public void onMessage(Session session, String payload) { String key = session.getPathParameters().get("key"); } } fixed the problem.
Created attachment 32794 [details] Patch proposal Hi, I succeeded to reproduce the issue. I'm attaching a patch proposal. Regards, Violeta
Hi, This is fixed in trunk, in 8.0.x for 8.0.24 and in 7.0.x for 7.0.63 onwards. Regards, Violeta
*** Bug 58059 has been marked as a duplicate of this bug. ***