上一篇 下一篇 分享链接 返回 返回顶部

SpringBoot中rabbitMq设置不自动检查连接

发布人:优库云 发布时间:2024-09-09 21:10 阅读量:237

Spring Boot 中,RabbitMQ 的连接自动检查是由 Spring AMQP(一个用于简化 AMQP 协议使用的框架)来处理的。要禁用 RabbitMQ 的自动连接检查,可以通过配置 CachingConnectionFactory 实例的 publisherConfirms 和 publisherReturns 属性,优库云为大家总结如下!

Spring Boot 应用程序中,利用修改 application.properties 或 application.yml 文件中的配置来实现这一点,或者直接在 Java 配置类中进行配置。

在application.properties 或 application.yml 中配置

spring.rabbitmq.publisher-confirm-type=none

spring.rabbitmq.publisher-returns=false

在Java配置类中配置:

import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

 

@Configuration

public class RabbitMQConfig {

 

    @Bean

    public CachingConnectionFactory rabbitConnectionFactory() {

        CachingConnectionFactory connectionFactory = new CachingConnectionFactory("your-rabbitmq-server");

        connectionFactory.setUsername("your-username");

        connectionFactory.setPassword("your-password");

        connectionFactory.setVirtualHost("your-vhost");

        

        // Disable publisher confirms and returns

        connectionFactory.setPublisherConfirmType(CachingConnectionFactory.ConfirmType.NONE);

        connectionFactory.setPublisherReturns(false);

        

        return connectionFactory;

    }

}

在上述配置中,通过将 publisherConfirmType 设置为 NONE 和将 publisherReturns 设置为 false,来禁用 RabbitMQ 的连接检查。

如有一个Spring Boot 应用程序,在 application.properties 文件中进行配置:

# RabbitMQ 配置

spring.rabbitmq.host=your-rabbitmq-server

spring.rabbitmq.port=5672

spring.rabbitmq.username=your-username

spring.rabbitmq.password=your-password

spring.rabbitmq.virtual-host=your-vhost

 

# 禁用连接检查

spring.rabbitmq.publisher-confirm-type=none

spring.rabbitmq.publisher-returns=false

或者是使用 Java 配置,可以在 RabbitMQConfig 类中配置:

import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

 

@Configuration

public class RabbitMQConfig {

 

    @Bean

    public CachingConnectionFactory rabbitConnectionFactory() {

        CachingConnectionFactory connectionFactory = new CachingConnectionFactory("your-rabbitmq-server");

        connectionFactory.setUsername("your-username");

        connectionFactory.setPassword("your-password");

        connectionFactory.setVirtualHost("your-vhost");

        

        // Disable publisher confirms and returns

        connectionFactory.setPublisherConfirmType(CachingConnectionFactory.ConfirmType.NONE);

        connectionFactory.setPublisherReturns(false);

        

        return connectionFactory;

    }

}

以上配置,可以禁用Spring Boot 应用程序中 RabbitMQ 的自动连接检查。

 

目录结构
全文