RabbitTemplate:代理不支持通过“ amq.rabbitmq.reply-to”进行快速回复

姆萨莱西

我正在使用Spring Boot(版本2.2.7.RELEASE因此是spring Rabbit 2.2.6)和RabbitMQ 3.3.5。为什么RabbitTemplate不能使用直接回复?经纪人有什么配置吗?

春天兔子配置:

@Configuration
@EnableRabbit
public class RabbitConfig {

    private String host = "localhost";

    private int port = 5672;

    private String username = "admin";

    private String password = "admin";

    private String exchangeName = "xxx";

    private String queueName = "qqq";


    @Bean
    public ConnectionFactory connectionFactory(){
        CachingConnectionFactory factory = new CachingConnectionFactory();
        factory.setHost(this.host);
        factory.setPort(this.port);
        factory.setUsername(this.username);
        factory.setPassword(this.password);
        return factory;
    }

    @Bean
    public RabbitAdmin rabbitAdmin(ConnectionFactory factory){
        RabbitAdmin admin = new RabbitAdmin(factory);
        return admin;
    }

    @Bean
    public Queue queue(){
        return new Queue(this.queueName, true);
    }

    @Bean
    public Exchange exchange(){
        return new DirectExchange(this.exchangeName, true, false);
    }

    @Bean
    public Binding binding(Queue queue, Exchange exchange){
        return BindingBuilder.bind(queue).to(exchange).with(queue.getName()).noargs();
    }

    @Bean
    public RabbitListenerContainerFactory rabbitListenerContainerFactory(ConnectionFactory cFactory){
        SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
        factory.setConnectionFactory(cFactory);
        factory.setMessageConverter(messageConverter());
        factory.setAcknowledgeMode(AcknowledgeMode.AUTO);
        return factory;
    }

    @Bean
    public RabbitTemplate rabbitTemplate(ConnectionFactory factory){
        RabbitTemplate rabbitTemplate = new RabbitTemplate(factory);
        rabbitTemplate.setMessageConverter(messageConverter());
        return rabbitTemplate;
    }

    @Bean
    public MessageConverter messageConverter(){
        //return new Converter();

        Jackson2JsonMessageConverter jackson2JsonMessageConverter = new Jackson2JsonMessageConverter();
        jackson2JsonMessageConverter.getJavaTypeMapper().addTrustedPackages("com.mhr.xp.amqp", "java.lang");

        return jackson2JsonMessageConverter;
    }


}

在这里我使用RabbitTemplate:

Object o = rabbitTemplate.convertSendAndReceive("xxx", "qqq", new Dto("ggg"));

我得到以下警告:

2020-05-15 23:06:59.188 WARN 15681 --- [main] osamqp.rabbit.core.RabbitTemplate:经纪人不支持通过“ amq.rabbitmq.reply-to”进行快速回复,将使用临时队列:channel错误; 协议方法:#method(回复代码= 404,回复文本= NOT_FOUND-虚拟主机'/'中没有队列'amq.rabbitmq.reply-to',类ID = 50,方法ID = 10)。

加里·罗素

直接答复添加到3.4版本的RabbitMQ中。

当前版本是3.8.3。

https://www.rabbitmq.com/download.html

https://docs.spring.io/spring-amqp/docs/2.2.6.RELEASE/reference/html/#direct-reply-to

从3.4.0版本开始,RabbitMQ服务器支持直接回复。这消除了固定答复队列的主要原因(以避免为每个请求创建临时队列)。从Spring AMQP版本1.4.1开始,默认情况下使用直接回复(如果服务器支持)...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring Integration RabbitMQ +消耗来自amq.rabbitmq.event主题交换的内部事件

来自分类Dev

通过ActiveMQ Broker插件获取AMQ消息

来自分类Dev

经过身份验证的服务不支持跨域javascript回调。通过SSL代理对WCF服务进行AJAX查询

来自分类Dev

RabbitMQ-自动生成名称为“ amq.gen- *”的随机队列

来自分类Dev

RabbitMQ-自动生成名称为“ amq.gen- *”的随机队列

来自分类Dev

iOS8是否允许我们进行自己的快速回复?

来自分类Dev

通过 Gmail 回复时,在 Gmail 中 In-Reply-To 值会发生变化

来自分类Dev

RLMArray 不支持快速枚举 NSFastEnumerationIterator?

来自分类Dev

通过Facebook Graph API快速获取个人资料图片,返回“不支持的URL”

来自分类Dev

为什么EntityFramework 6不支持通过Discriminator进行显式过滤?

来自分类Dev

使用RabbitMQ通过WebSocket进行AMQP

来自分类Dev

PhantomJS如何通过RabbitMQ进行通信?

来自分类Dev

使用Eclipse进行Java Linux Arm远程调试:“此VM不支持分析和调试代理”

来自分类Dev

锁定屏幕API的iOS9快速回复

来自分类Dev

使用 watson 对话快速回复或提出建议

来自分类Dev

Twitter 快速回复 - Twitter4J (Java) 示例

来自分类Dev

Twitter:带有快速回复的直接消息缺少按钮

来自分类Dev

页面所有者的快速回复

来自分类Dev

'GetPositionLowerLimits'和'GetPositionUpperLimits'不支持通过ModelInstance进行获取,因为它具有其他功能

来自分类Dev

Elgg 安装错误:您的服务器不支持重写规则的自动测试,并且您的浏览器不支持通过 JavaScript 进行检查

来自分类Dev

Twitter API回复(in_reply_to_status_id)无法正常工作

来自分类Dev

不支持模拟CSS属性进行测试?

来自分类Dev

内核不支持PIC模式进行编译?

来自分类Dev

内核不支持PIC模式进行编译?

来自分类Dev

为什么不支持对PCL TcpSocketClient进行读写?

来自分类Dev

该平台不支持的代理

来自分类Dev

通过Nginx的RabbitMQ连接

来自分类Dev

通过rabbitmq发送文件

来自分类Dev

IMAP 服务器以“NO”响应回复“SEARCH”命令:搜索不支持字符集

Related 相关文章

  1. 1

    Spring Integration RabbitMQ +消耗来自amq.rabbitmq.event主题交换的内部事件

  2. 2

    通过ActiveMQ Broker插件获取AMQ消息

  3. 3

    经过身份验证的服务不支持跨域javascript回调。通过SSL代理对WCF服务进行AJAX查询

  4. 4

    RabbitMQ-自动生成名称为“ amq.gen- *”的随机队列

  5. 5

    RabbitMQ-自动生成名称为“ amq.gen- *”的随机队列

  6. 6

    iOS8是否允许我们进行自己的快速回复?

  7. 7

    通过 Gmail 回复时,在 Gmail 中 In-Reply-To 值会发生变化

  8. 8

    RLMArray 不支持快速枚举 NSFastEnumerationIterator?

  9. 9

    通过Facebook Graph API快速获取个人资料图片,返回“不支持的URL”

  10. 10

    为什么EntityFramework 6不支持通过Discriminator进行显式过滤?

  11. 11

    使用RabbitMQ通过WebSocket进行AMQP

  12. 12

    PhantomJS如何通过RabbitMQ进行通信?

  13. 13

    使用Eclipse进行Java Linux Arm远程调试:“此VM不支持分析和调试代理”

  14. 14

    锁定屏幕API的iOS9快速回复

  15. 15

    使用 watson 对话快速回复或提出建议

  16. 16

    Twitter 快速回复 - Twitter4J (Java) 示例

  17. 17

    Twitter:带有快速回复的直接消息缺少按钮

  18. 18

    页面所有者的快速回复

  19. 19

    'GetPositionLowerLimits'和'GetPositionUpperLimits'不支持通过ModelInstance进行获取,因为它具有其他功能

  20. 20

    Elgg 安装错误:您的服务器不支持重写规则的自动测试,并且您的浏览器不支持通过 JavaScript 进行检查

  21. 21

    Twitter API回复(in_reply_to_status_id)无法正常工作

  22. 22

    不支持模拟CSS属性进行测试?

  23. 23

    内核不支持PIC模式进行编译?

  24. 24

    内核不支持PIC模式进行编译?

  25. 25

    为什么不支持对PCL TcpSocketClient进行读写?

  26. 26

    该平台不支持的代理

  27. 27

    通过Nginx的RabbitMQ连接

  28. 28

    通过rabbitmq发送文件

  29. 29

    IMAP 服务器以“NO”响应回复“SEARCH”命令:搜索不支持字符集

热门标签

归档