以下Spring的Web套接字配置是否合法?
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
config.setApplicationDestinationPrefixes("/topic" /* same as broker prefix */);
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/stomp");
}
}
我想要实现的是能够通过@Controller
拦截@SubscribeMapping
中的主题订阅。但是为了实现这一点,我需要将/topic
前缀定义为应用程序目标前缀。阅读文档和JavaDoc给我的印象是这不正确(消息应该由代理或应用程序处理程序处理)。然而它起作用......因此是一个合法配置的问题。