首页 帮助中心 新加坡服务器 SpringBoot中rabbitMq设置不自动检查连接
SpringBoot中rabbitMq设置不自动检查连接
时间 : 2024-09-09 11:06:05 编辑 : 华纳云 阅读量 : 418

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 的自动连接检查。

 

华纳云 推荐文章
服务器日志分析工具有哪些及具体使用方法 Linux中Linfo的安装和使用完整教程 如何理解类数据共享及类数据共享如何改变JVM的启动时间 如何在Windows Server 2019实现IIS配置伪静态支持? MySQL delete删除数据后 如何释放磁盘空间 如何在Linux系统挂载未分配硬盘空间 当ubuntu硬盘自动挂载失败怎么办 ​基于redis的分布式锁的简单实现方法 Ubuntu安装sysv-rc-conf时报错如何解决 Windows宝塔面板详细安装流程
客服咨询
7*24小时技术支持
技术支持
渠道支持