1

我想在 websocket 连接之间共享一些信息。共享数据有点复杂所以我不能用EndpointConfig.getUserProperties()。我想扩展ServerEndpointConfig.Configurator和添加我自己的数据结构。(我不想覆盖其他方法,例如getEndpointInstance)。问题是我应该使用线程安全的数据结构吗?或者我可以使用任何数据结构,并且 Web 套接字容器将保证我的实例ServerEndpointConfig.Configurator将以安全的方式被访问。

4

1 回答 1

1

That feels so hacky.
Configurator is expected to be immutable (check Tyrus configurator for example) and not intended to be a sharing point.
In Java EE environment there is a better approach.
Websocket spec provides some support for CDI/EJB. You can inject an @ApplicationScoped or @Singleton bean and use it to share data (the bean has to be synchronized).
There's a shared counter example from Tyrus samples on Github

于 2014-05-14T15:46:44.380 回答