我找到了解决方案。我的问题是EnableWebSocketMessageBroker批注和ActiveMQ Broker的缺少部署
删除application.yml并将WebSocketConfig类更改为
package com.example.websocket;import org.apache.activemq.broker.BrokerService;import org.apache.activemq.broker.jmx.ManagementContext;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.messaging.simp.config.MessageBrokerRegistry;import org.springframework.web.socket.config.annotation.EnableWebSocket;import org.springframework.web.socket.config.annotation.StompEndpointRegistry;import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurationSupport;@Configuration@EnableWebSocketpublic class WebSocketConfig extends WebSocketMessageBrokerConfigurationSupport { @Override public void configureMessageBroker(final MessageBrokerRegistry config) { config.enableStompBrokerRelay("/topic") // .setRelayHost("localhost") // .setRelayPort(61613); config.setApplicationDestinationPrefixes("/app"); } @Override public void registerStompEndpoints(final StompEndpointRegistry registry) { registry.addEndpoint("/websocket").withSockJS(); } @Bean(initMethod = "start", destroyMethod = "stop") public BrokerService broker() throws Exception { final BrokerService broker = new BrokerService(); broker.addConnector("stomp://localhost:61613"); broker.setPersistent(false); final ManagementContext managementContext = new ManagementContext(); managementContext.setCreateConnector(true); broker.setManagementContext(managementContext); return broker; }}为我工作。



