package sample.webflux.websocket.netty.configuration; import java.util.HashMap; import java.util.Map; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.reactive.HandlerMapping; import org.springframework.web.reactive.handler.SimpleUrlHandlerMapping; import org.springframework.web.reactive.socket.WebSocketHandler; import org.springframework.web.reactive.socket.server.support.WebSocketHandlerAdapter; import sample.webflux.websocket.netty.handler.ServerWebSocketHandler; @Configuration public class ServerConfiguration { @Value("${sample.path}") private String samplePath; @Bean public ServerWebSocketHandler serverWebSocketHandler() { return new ServerWebSocketHandler(); } @Bean public HandlerMapping handlerMapping(ServerWebSocketHandler serverWebSocketHandler) { Map<String, WebSocketHandler> handlerByPathMap = new HashMap<String, WebSocketHandler>(); handlerByPathMap.put(samplePath, serverWebSocketHandler); SimpleUrlHandlerMapping handlerMapping = new SimpleUrlHandlerMapping(); handlerMapping.setUrlMap(handlerByPathMap); handlerMapping.setOrder(-1); return handlerMapping; } @Bean public WebSocketHandlerAdapter handlerAdapter() { return new WebSocketHandlerAdapter(); } }