星dust 2023-11-17 16:22 采纳率: 0%
浏览 10

springboot项目默认访问本机的rabbitmq服务,但yml里配置的是linux中的rabbitmq端口号

springboot整合rabbitmq时,它默认访问的是windows系统上的rabbitmq服务
但是我在yml配置文件里对rabbitmq进行了访问端口的配置了的

img

测试代码

@Test
    public void testSendMessage2SimpleQueue(){
        String queueName = "simple_queue";
        String message = "hello ssss";
        rabbitTemplate.convertAndSend(queueName, message);
        System.out.println("发送消息成功");
    }

但是进行测试时仍然访问本机的rabbitmq

img

怎么解决?

  • 写回答

3条回答 默认 最新

  • 老攀呀 2023-11-17 17:39
    关注

    如果你在 Spring Boot 项目的 YAML 配置文件中配置了 RabbitMQ 的访问端口,但仍然默认连接到 Windows 系统上的 RabbitMQ 服务,可能有以下一些原因:

    1. 配置错误:

      • 确保在 YAML 配置文件中正确配置了 RabbitMQ 的连接信息,包括主机名(host)、端口(port)、用户名(username)、密码(password)等。
      spring:
        rabbitmq:
          host: your-rabbitmq-host
          port: your-rabbitmq-port
          username: your-username
          password: your-password
      
    2. Spring Boot Profile:

      • 如果你使用了 Spring Boot 的 Profile,确保你在配置文件中正确设置了激活的 Profile,以使用正确的配置。
      spring:
        profiles:
          active: your-profile
      
    3. Hosts 文件配置:

      • 检查你的系统的 hosts 文件,确保没有其他对 RabbitMQ 主机名的映射。在 Windows 系统中,hosts 文件位于 C:\Windows\System32\drivers\etc\hosts,而在 Linux/macOS 中,位于 /etc/hosts
    4. 缓存问题:

      • 尝试重启你的 Spring Boot 应用程序,以确保它加载了最新的配置。
    5. 防火墙和网络配置:

      • 确保防火墙或网络配置不会阻止你的 Spring Boot 应用程序连接到正确的 RabbitMQ 服务。检查端口是否开放,并确保网络连接是正常的。
    6. RabbitMQ 服务配置:

      • 在 RabbitMQ 服务器上检查 RabbitMQ 的配置,确保它监听了正确的端口。默认情况下,RabbitMQ 使用 5672 端口。

    如果在检查上述步骤后仍然存在问题,建议逐步排查。可以通过打印日志、调试代码等方式来获取更多详细信息,以确定连接到错误 RabbitMQ 服务的原因。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月17日