@ServerEndpoint(value = "/websocket", configurator = CustomWebSocketConfigurator.class)
public class WebSocketEndpoint {
}
public class CustomWebSocketConfigurator extends ServerEndpointConfig.Configurator {
@Override
public void modifyHandshake(ServerEndpointConfig config, HandshakeRequest request, HandshakeResponse response) {
super.modifyHandshake(config, request, response);
config.getUserProperties().put("org.apache.tomcat.websocket.DISABLE_BUILTIN_EXTENSIONS", true);
config.getUserProperties().put("org.apache.tomcat.websocket.PASS_THROUGH_EXTENSIONS", true);
}
}
@ServerEndpoint(value = "/websocket", configurator = CustomWebSocketConfigurator.class)
public class WebSocketEndpoint {
@OnOpen
public void onOpen(Session session) {
ExecutorService executorService = Executors.newFixedThreadPool(10);
session.getUserProperties().put("executorService", executorService);
}
@OnClose
public void onClose(Session session) {
ExecutorService executorService = (ExecutorService) session.getUserProperties().get("executorService");
if (executorService != null) {
executorService.shutdownNow();
}
}
}
@ServerEndpoint(value = "/websocket", configurator = CustomWebSocketConfigurator.class)
public class WebSocketEndpoint {
@OnOpen
public void onOpen(Session session) {
session.getUserProperties().put("org.apache.tomcat.websocket.COMPRESSION", "on");
}
}