2016-09-23 13 views
1

RabbitMQの公式Webサイトでは、クライアントごとに1つのコールバックキューを作成してRPCパターンを実装することを推奨しています。
次のようにクライアントのサンプルコードは(プロデューサー)は次のようになります。SpringブートによるRabbit 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でこれを実装する任意の記事を見つけることができません同期的に)。
ただ1つの要求キューと応答キューで非同期メッセージ通信を実現する方法を知っています。
p.s.私も "AsyncRabbitTemplete"を試しましたが、うまくいきませんでした。

答えて

0

公式のrabbitmqクライアントAPIを使用してこの問題を解決しました。
プロデューサがメッセージを送信し、コンシューマがメッセージを読み取るための永続キューを作成します。
そして、リクエストごとに、私はRPCが返答するのと同じように一時的なキューを作成します。
Spring BootのRabbitMQのAPIは、この要件を満たすことができないようです。

関連する問題