Подтвердить что ты не робот

SimpMessagingTemplate.convertAndSend с RabbitMQ работает очень медленно

Я использую spring STOMP через Websocket с RabbitMQ. Все работает нормально, но simpMessagingTemplate.convertAndSend работает очень медленно, вызов может занять 2-10 секунд (синхронно, поток блоков). Что может быть причиной?

RabbitTemplate.convertAndSend take < 1s, но мне нужно топать через websocket..

UPDATE

Я пытаюсь использовать ActiveMQ и получает тот же результат. convertAndSend занимает 2-10 секунд

ActiveMQ имеет конфигурацию по умолчанию.

Конфигурация веб-сокета:

@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);
    }
}
4b9b3361

Ответ 1

Проблема решена. Его ошибка в библиотеке io.projectreactor версии 2.0.4.RELEASE. Я перехожу к 2.0.8.RELEASE и его исправленной проблеме. Отправка сообщения теперь займет ~ 50 мс.

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