rabbitmq配置,生产者,消费者

本文介绍了如何配置RabbitMQ,包括生产者和消费者的设置。首先,详细讲解了配置文件的内容,然后阐述了如何创建并配置生产者容器,最后讨论了消费者的相关配置,为读者提供了全面的RabbitMQ实战指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 配置文件
    在这里插入图片描述
  • 生产者
    在这里插入图片描述
  • 配置消费者容器

@Configuration
public class OverdueRabbitmqConfig {

    @Value("${overdue.listener.prefetch}")
    private Integer prefetch;

    @Value("${overdue.consumer.concurrency}")
    private Integer concurrentconsumers;

    @Bean(name = "overdueConnectionFactory")
    public ConnectionFactory firstConnectionFactory(
            @Value("${spring.rabbitmq.addresses}") String addresses,
            @Value("${spring.rabbitmq.username}") String username,
            @Value("${spring.rabbitmq.password}") String password,
            @Value("${spring.rabbitmq.virtual-host}") String virtualHost) {
        CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
        connectionFactory.setAddresses(addresses);
        connectionFactory.setUsername(username);
        connectionFactory.setPassword(password);
        connectionFactory.setVirtualHost(virtualHost);
        return connectionFactory;
    }

    /**

    /**
     * 声明collection containerFactory
     */
    @Bean(name = "collectionContainerFactory")
    public SimpleRabbitListenerContainerFactory firstSimpleRabbitListenerContainerFactory2(
            SimpleRabbitListenerContainerFactoryConfigurer config,
            @Qualifier("overdueConnectionFactory") ConnectionFactory connectionFactory) {
        SimpleRabbitListenerContainerFactory containerFactory=new SimpleRabbitListenerContainerFactory();
        containerFactory.setAcknowledgeMode(AcknowledgeMode.MANUAL);
        containerFactory.setPrefetchCount(prefetch);
        containerFactory.setMaxConcurrentConsumers(50);
        config.configure(containerFactory,connectionFactory);
        return containerFactory;
    }

}
  

    
  • 消费者
 @RabbitHandler
 @RabbitListener(queues = "${collection.consumer.calculate.tn.queue}",
         containerFactory = "collectionContainerFactory",
         concurrency = "${collection.calculate.consumer.concurrency}"
         )
 public void collectionConsumerTn(String testMessage, Channel channel, Message message) {
     try {
         YxPreContractResponse yxPreContractResponse = MAPPER.readValue(testMessage, new TypeReference<YxPreContractResponse>() {});
         
* 
* 在mq管理系统中,添加好队列和交换机,否则可能会链接不上而报错。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值