在我的Spring Boot应用程序中,我试图实现基于WebSockets的通知功能。
我提供了以下配置:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/notifications").withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/topic", "/queue");
}
}
并尝试使用SimpMessagingTemplate
以便从服务器端向特定客户端(用户)发送消息。
@Autowired
private SimpMessagingTemplate simpMessagingTemplate;
public void sendMessages() {
simpMessagingTemplate.convertAndSendToUser(%user%, "/horray", "Hello, World!");
}
现在我不了解一些事情:
%user%
参数应该使用什么值
simpMessagingTemplate.convertAndSendToUser
方法?
我的/notifications
端点之间的相关性是什么?
以WebSocketConfig.registerStompEndpoints
方法注册
destination
参数
simpMessagingTemplate.convertAndSendToUser
方法以及如何正确使用它?
如何保护用户免于阅读其他人的消息 客户?
答案 0 :(得分:1)
user
参数是客户在订阅目的地时使用的名称,请参阅Spring Reference Chapter 26.4.11 User Destinations
目的地与终点: