websockt   配置

WebSocketConfig 继承  WebSocketMessageBrokerConfigurer

    @Override    public void configureMessageBroker(MessageBrokerRegistry config) {        config.enableSimpleBroker("/topic");        config.setApplicationDestinationPrefixes("/app");    }    @Override    public void registerStompEndpoints(StompEndpointRegistry registry) {        registry.addEndpoint("/gs-guide-websocket").setAllowedOrigins("*").withSockJS();            }

这句代码是允许websocket 跨域访问 .setAllowedOrigins("*") ,不设置是会报403错误。 切记。 

业务代码

@Controllerpublic class GreetingController {     @MessageMapping("/hello")    @SendTo("/topic/greetings")    public Greeting greeting(HelloMessage message) throws Exception {        Thread.sleep(1000); // simulated delay        return new Greeting("Hello, " + HtmlUtils.htmlEscape(message.getName()) + "!");    }}

客户端代码片段

function connect() {    var socket = new SockJS('http://localhost:8080/gs-guide-websocket');    stompClient = Stomp.over(socket);    stompClient.connect({}, function (frame) {        setConnected(true);        console.log('Connected: ' + frame);        stompClient.subscribe('/topic/greetings', function (greeting) {            showGreeting(JSON.parse(greeting.body).content);        });    });}