RabbitMQ java 客户端 RpcClient/RpcServer 示例
Posted
技术标签:
【中文标题】RabbitMQ java 客户端 RpcClient/RpcServer 示例【英文标题】:RabbitMQ java client RpcClient/RpcServer example 【发布时间】:2015-06-05 02:42:38 【问题描述】:我是 RabbitMQ 的新手,我正在尝试实现一个 RpcClient 和 RpcServer 似乎很合适的应用程序。这就是应用程序的工作方式:当请求到来时,它会调用 RpcClient 将请求排入队列,然后等待响应。在服务器端,侦听器将请求出列并处理它,然后使用 RpcServer 入队。从理论上讲,这应该有效。我还在 Rabbit MQ 上找到了一个页面,该页面解释了如何通过使用直接回复来提高性能。https://www.rabbitmq.com/direct-reply-to.html。但是,我不知道如何应用它来使用 com.rabbitmq.client.RpcClient 和 com.rabbitmq.client.RpcServer 来实现我的应用程序。有人可以对此有所了解吗?谢谢!
【问题讨论】:
【参考方案1】:com.rabbitmq.client.RpcClient 和com.rabbitmq.client.RpcServer 是两个方便的类,可以轻松实现 RPC 模式。
你也可以用标准类来实现它。
阅读post 和this(使用标准类)
【讨论】:
谢谢。我看了这两个班。但我不明白 RpcServer 如何知道要接收哪个请求。当创建 RpcClient 时,它是使用 exchange、routingKey ...等创建的。但是当创建 RpcServer 时,它需要 channel 和 queueName。但是 RpcClient 没有获取 queueName 的功能。并且没有一个 RpcServer 方法引用 RoutingKey。我迷路了。有人可以给我举个例子来说明它是如何工作的吗?如果我想为每个不同的routingKey创建一个RpcClient,并启动RpcServers根据routingKey进行处理,我该怎么做呢?谢谢!以上是关于RabbitMQ java 客户端 RpcClient/RpcServer 示例的主要内容,如果未能解决你的问题,请参考以下文章
用于Rabbitmq Stomp的java websocket客户端