SimpMessagingTemplate.RabbitMQ的convertAndSend工作很慢



我使用spring STOMP在Websocket与RabbitMQ。所有的工作都很好,但simpMessagingTemplate。convertAndSend工作非常慢,调用可能需要2-10秒(同步,阻塞线程)。有什么理由呢?

RabbitTemplate。convertAndSend take <1秒,但是我需要踩过websocket.

我尝试使用ActiveMQ并得到相同的结果。convertAndSend需要2-10秒

ActiveMQ有默认配置。

Web socket配置:

@Configuration
@EnableWebSocket
@EnableWebSocketMessageBroker
class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
    @Override
    void configureMessageBroker(MessageBrokerRegistry config) {
        config.enableStompBrokerRelay("/topic", "/queue", "/exchange");
        config.setApplicationDestinationPrefixes("/topic", "/queue"); // prefix in client queries
        config.setUserDestinationPrefix("/user");
    }
    @Override
    void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/board").withSockJS()
    }
    @Override
    void configureWebSocketTransport(WebSocketTransportRegistration registration) {
        registration.setMessageSizeLimit(8 * 1024);
    }
}

问题解决。这是io中的bug。projectactor库版本2.0.4.RELEASE。我改成了2.0.8。RELEASE及其修复的问题。发送消息现在需要~50ms。

    <dependency>
        <groupId>io.projectreactor</groupId>
        <artifactId>reactor-net</artifactId>
        <version>2.0.8.RELEASE</version>
    </dependency>

相关内容

  • 没有找到相关文章

最新更新