gpt4 book ai didi

tomcat - 设置(Websocket)ServerEndpoint 配置器没有注释

转载 作者:行者123 更新时间:2023-11-28 22:29:35 25 4
gpt4 key购买 nike

灵感来自 this thread我正在尝试这样做:

@ServerEndpoint(... configurator = GetHttpSessionConfigurator.class)

没有@ServerEndpoint 注解但有这段代码:

ServerEndpointConfig endpointConfig = ServerEndpointConfig.Builder.create(MyHandler.class, uri).build();
javax.websocket.server.ServerContainer.addEndpoint(endpointConfig);

由于找不到任何“setConfigurator”方法,我检查了 ServerEndpointConfig 的来源,发现 Configuration (..tor) 是由

 ServiceLoader.load(Configurator.class)

因此,我创建了一个 meta-inf\services\javax.websocket.server.ServerEndpointConfig$Configurator 文件并添加了一行以指向我的 GetHttpSessionConfigurator(如 1 中定义)类。文件已加载(我使用 Process Monitor 检查过)但使用了 Tomcat 的 DefaultServerEndpointConfig。

有人知道这个设置有什么问题吗?

最佳答案

在你的.build()之前你可以放入一个.configurator(new YourEndPointConfigurator())

因此对于您的代码,您可以执行以下操作:

ServerEndpointConfig endpointConfig = ServerEndpointConfig.Builder
.create(MyHandler.class, uri)
.configurator(new ChatServerEndPointConfigurator(new GetHttpSessionConfigurator())
.build();

更多信息可以在 ServerEndpointConfig.Builder docs 中找到.

关于tomcat - 设置(Websocket)ServerEndpoint 配置器没有注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25913618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com