【问题标题】:Spring AMQP RPC Non-default exchangeSpring AMQP RPC 非默认交换
【发布时间】:2015-01-24 23:58:37
【问题描述】:

有没有办法使用RabbitTemplate 中的sendAndRecieve() 方法并使用非默认交换。我知道我可以使用setReplyQueue() 方法,但这仅限于默认交换。

目前我解决此问题的唯一方法是在构建消息时手动传递reply-to,然后同步发送并随后接收。

提前致谢,希望这只是我的疏忽。

【问题讨论】:

    标签: spring rabbitmq rpc amqp spring-amqp


    【解决方案1】:

    请打开Improvement JIRA Issue

    侦听器支持replyTo 形式为exchange/routingKey - 请参阅the documentation

    但是,rabbit Template 不支持将其设置为发送和接收操作,它使用默认的交换和队列名称作为 rk 设置回复路由。

    不幸的是,我没有看到一个简单的解决方法。

    编辑:删除了我建议的解决方法 - 因为该方法引用了私有字段,所以它不起作用。

    EDIT2:我通过使用 Java 而不是 XML 配置模板找到了另一种解决方法...

    https://github.com/garyrussell/spring-amqp/commit/47d8238fd8651ed3a04eab7c91fae632c7f3155c

    【讨论】:

    • 谢谢!我看到了提交,我使用了一个带有侦听器的replyTo,该侦听器绑定到一个固定队列,其routingKey与其命名相同......不是很优雅。我认为 RPC 调用都应该通过默认交换进行!感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多