Spring Java 配置用于在 stomp 端点上自定义 Websocket 握手

Ale*_*ini 2 java spring stomp spring-java-config spring-websocket

我想要与此 XML 配置等效的内容(在此处获取),但使用 Java 配置:

<bean id="customHandler" class="app.wsock.CustomHandler"/>

<websocket:message-broker application-destination-prefix="/app">
  <websocket:stomp-endpoint path="/foo">
    <websocket:handshake-handler ref="customHandler"/>
  </websocket:stomp-endpoint>
  <websocket:simpl-broker prefix="/topic,/queue" />
</websocket:message-broker>
Run Code Online (Sandbox Code Playgroud)

我的目标是构建一个类,根据某些标准限制与我的 STOMP 端点(即:他的 websocket)的连接。

我不想使用 XML 来配置我的端点,如何将该代码段转换为 Java Config?

Art*_*lan 5

像这样的东西:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

    @Bean
    public HandshakeHandler handshakeHandler() {
        return new app.wsock.CustomHandler();
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/foo").setHandshakeHandler(handshakeHandler());
    }

    @Override
    public void configureMessageBroker(MessageBrokerRegistry configurer) {
        configurer.enableStompBrokerRelay("/topic", "/queue");
    }

}
Run Code Online (Sandbox Code Playgroud)