RabbitMQ笔记(四)-CachingConnectionFactory

本文探讨了在RabbitMQ中使用CachingConnectionFactory时,如何避免生产者阻塞消费者的问题。官方建议为生产者和消费者分别配置独立的CachingConnectionFactory实例。通过实验证明,在内存水位低时,生产者发送消息会导致阻塞,但配置了专用消费者的CachingConnectionFactory后,消费者通道仍能保持畅通。此外,还提到了ChannelListener、ConnectionListener和RecoveryListener三种监听器的作用。
摘要由CSDN通过智能技术生成

通常我们使用RabbitTemplate来进行简单的收发消息,而RabbitTemplate使用CachingConnectionFactory作为连接工厂,

CachingConnectionFactory

配置bean
@Bean
public CachingConnectionFactory cachingConnectionFactory(){
    CachingConnectionFactory factory = new CachingConnectionFactory();

    factory.setAddresses(rabbitProperties.getAddresses());
    factory.setUsername(rabbitProperties.getUsername());
    factory.setPassword(rabbitProperties.getPassword());
    factory.setVirtualHost(rabbitProperties.getVirtualHost());
    factory.setPublisherConfirms(rabbitProperties.isPublisherConfirms());
    factory.setPublisherReturns(rabbitProperties.isPublisherReturns());

    factory.addChannelListener(rabbitChannelListener);
    factory.addConnectionListener(rabbitConnectionListener);
    factory.setRecoveryListener(rabbitRecoveryListener);

    return factory;
}
通常的教程这样配置,但是特别注意到官网有一段这样的提示

在一个应用里面同时存在消费者

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值