Config
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.*;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker(new String[]{"/topic","/busker","/audience"});
config.setApplicationDestinationPrefixes(new String[]{"/app"});
}
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint(new String[]{"/api/chat"}).setAllowedOriginPatterns("*");
registry.addEndpoint(new String[]{"/api/signal"})
.setAllowedOriginPatterns("*");
}
}
@MessageMapping("/api/busker")
public void listenTestStomp(@Payload String message) {
System.out.println(message);
HashMap<String, String> map = new HashMap<>();
map.put("test", "test");
simpMessagingTemplate.convertAndSend("/busker", map);
return;
}
@MessageMapping("/api/busker/{buskerName}")
public void listenBusker(@DestinationVariable String buskerName, @Payload String message) {
System.out.println(buskerName + " " + message);
HashMap<String, String> map = new HashMap<>();
map.put("buskerName", "test success");
simpMessagingTemplate.convertAndSend("/busker/" + buskerName, map);
return;
}