spring-amqp не работает правильно, когда соединения заблокированы

Я использую spring-amqp 1.4.4 и после того, как очередь содержит слишком много сообщений, и она находится над памятью водяного знака, метод приема RabbitTemplate не отвечает, если он был вызван после метода send. Это ждать бесконечно. А весной xml я установил reply-timeout="10" для rabbit:template. Если я не вызываю метод send, а просто вызываю, получаю, это работает хорошо. В чем дело?

template.convertAndSend("test message");

String msg = (String) template.receiveAndConvert("log.queue"); // receiveAndConvert not response

1 ответ

Именно по этой причине ребята из rabbitmq рекомендуют использовать отдельные соединения для издателей и потребителей.

Весенний amqp CachingConnectionFactory разделяет одно соединение для всех пользователей.

Мы рассматриваем возможность использования двух соединений, но тем временем вы можете настроить две фабрики соединений (и шаблоны), одну для отправки и другую для получения.

Другие вопросы по тегам