0
Мы пытаемся сделать асинхронный вызов в RabbitMQ с использованием Spring AMQP, может ли кто-нибудь рассказать мне, как настроить answerqueue, correId, (свойства) с помощью Spring amqp?Как настроить очереди ответов rabbitmq, используя spring-amqp?
String corrId = java.util.UUID.randomUUID().toString();
BasicProperties props = new BasicProperties
.Builder()
.correlationId(corrId)
.replyTo(replyQueueName)
.build();
channel.basicPublish("", requestQueueName, props, message.getBytes());
CorrelationData используется для издателя подтверждает не общую корреляцию. Используя этот метод, вы должны установить идентификатор корреляции в 'postProcessMessage'. Или, как я ответил на список кроликов, вы можете использовать один из методов '... sendAndReceive ...()' шаблона, и шаблон позаботится о корреляции для вас. –
Спасибо за ответ. Все еще застрял во время работы с весной amqp, ниже - код в конце Producer. String corrId = UUID.randomUUID(). ToString(); \t \t \t Строка replyQueueName = channel.queueDeclare(). GetQueue(); \t \t \t \t \t \t MessageProperties prop = new MessageProperties(); \t \t \t prop.setCorrelationId (corrId.getBytes()); \t \t \t prop.setReplyTo (replyQueueName); \t \t \t Сообщение сообщения = новое сообщение (query.getBytes(), prop); \t \t \t Сообщение msg = rabbitTemplate.sendAndReceive (сообщение); Не могли бы вы рассказать мне, как получить канал здесь, чтобы получить ответQueue, и, пожалуйста, поделитесь также с потребительским кодом. Заранее спасибо. – Pand005
Чтобы получить «канал» от Потребителя, ваш 'messageListener' должен реализовать' ChannelAwareMessageListener' –