2015-06-05 64 views
0

我是RabbitMQ的新手,我試圖實現一個應用程序,其中RpcClient和RpcServer似乎很適合。這就是應用程序的工作方式:當請求到達時,它會調用RpcClient來排隊請求,然後等待響應。在服務器端,偵聽器會將請求出隊並處理它,然後使用RpcServer入隊。理論上,這應該起作用。我還在Rabbit MQ上找到了一個頁面,解釋瞭如何使用直接回復來提高性能。 https://www.rabbitmq.com/direct-reply-to.html。但是,我不知道如何應用這個來使用com.rabbitmq.client.RpcClient和com.rabbitmq.client.RpcServer來實現我的應用程序。有人可以解釋這一點嗎?謝謝!RabbitMQ java客戶端RpcClient/RpcServer示例

回答

0

com.rabbitmq.client.RpcClientcom.rabbitmq.client.RpcServer是實現簡單RPC模式的兩個便利類。

你也可以用標準類來實現它。

閱讀本postthis(使用標準級)

+1

感謝。我看着這兩個班。但我不明白RpcServer如何知道要提取哪個請求。當創建RpcClient時,它是使用exchange,routingKey等創建的。但是當創建RpcServer時,它需要channel和queueName。但是RpcClient沒有獲取queueName的函數。並且RpcServer方法都沒有引用RoutingKey。我迷路了。有人能告訴我一個關於它如何工作的例子嗎?如果我想爲每個不同的routingKey創建一個RpcClient並啓動RpcServers以基於routingKey進行處理,那我該怎麼做?謝謝! –