Java Spring启动websocket配置错误
原因:java.lang.NoSuchMethodError:'org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfiguration Support.messageBrokerTaskScheduler()' 这是附加的屏幕截图Java Spring启动websocket配置错误,java,spring-boot,websocket,spring-websocket,stomp,Java,Spring Boot,Websocket,Spring Websocket,Stomp,原因:java.lang.NoSuchMethodError:'org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfiguration Support.messageBrokerTaskScheduler()' 这是附加的屏幕截图 在activeMQ的pom.xml文件
在activeMQ的pom.xml文件中添加了额外的依赖项,因此AbstractMessageBrokerConfiguration类是从active-mq-all.jar中选取的,而不是从simp/spring-messaging.jar中选取的
删除外部活动mq依赖项解决了我的问题。清理.m2 repo并重新重建@gnanajeyam95已经尝试过了,但仍然得到了这个奇怪的问题。我认为这会帮助您解决这个问题。如果这是正确的答案,请将其标记为这样,以帮助将来可能遇到此问题的用户。
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/ws").setAllowedOrigins("https://localhost.com").withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/aq-topic", "/aq-queue");
config.setApplicationDestinationPrefixes("/aq-broker");
}
@Override
public void configureClientInboundChannel(ChannelRegistration channelRegistration) {
channelRegistration.taskExecutor().corePoolSize(4).maxPoolSize(8);
}
@Override
public void configureClientOutboundChannel(ChannelRegistration channelRegistration) {
channelRegistration.taskExecutor().corePoolSize(4).maxPoolSize(8);
}
}