2016-09-23 2 views
1

RabbitMQ 공식 웹 사이트에서는 RPC 패턴을 구현하기 위해 클라이언트 당 하나의 콜백 대기열을 생성하는 것이 좋습니다. 다음과 같이 보일 수 있습니다 클라이언트 (생산자)에 대한
샘플 코드 :봄 부팅을 사용하는 토끼 MQ (Aysnchronous) RPC 구현

public RPCClient() throws Exception { 
ConnectionFactory factory = new ConnectionFactory(); 
factory.setHost("localhost"); 
connection = factory.newConnection(); 
channel = connection.createChannel(); 

replyQueueName = channel.queueDeclare().getQueue(); 
consumer = new QueueingConsumer(channel); 
channel.basicConsume(replyQueueName, true, consumer); 

하지만 봄 부팅 -AMQP하여이를 구현하기 위해 어떤 기사를 찾을 수없는, 모든 예제 그냥 보내고 순차적으로 수신 (또는 말 동 기적으로).
하나의 요청 대기열과 응답 대기열로 비동기 메시지 통신을 수행하는 방법을 알고 있습니다.
p.s. 나는 또한 "AsyncRabbitTemplete"시도했지만 작동하지 않았다.

답변

0

공식 rabbitmq 클라이언트 API를 사용하여이 문제를 해결했습니다.
생성자가 메시지를 보내고 소비자가 메시지를 읽도록 영구 큐를 만듭니다.
각 요청에 대해 RPC가 회신 할 때와 마찬가지로 임시 대기열을 만듭니다.
스프링 부트의 RabbitMQ API가이 요구 사항을 충족하지 못하는 것 같습니다.