2015-06-05 67 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进行处理,那我该怎么做?谢谢! –