spring boot 启动加载默认的rabbitmq配置,运行过程中通过接口获取新的rabbitmmq连接信息,连接新的rabbitmq。
springboot自动装配mq的方式是池化的,无法修改,如果需要动态连接,你考虑下是否可以每次直接连接。
public static Connection getConnection() { try { Connection connection = null; //定义一个连接工厂 ConnectionFactory factory = new ConnectionFactory(); //设置服务端地址(域名地址/ip) factory.setHost("127.0.0.1"); //设置服务器端口号 factory.setPort(5672); //设置虚拟主机(相当于数据库中的库) factory.setVirtualHost("/"); //设置用户名 factory.setUsername("admin"); //设置密码 factory.setPassword("admin666"); connection = factory.newConnection(); return connection; } catch (Exception e) { return null; } }
自定义一个实现代理类代理实现 org.springframework.amqp.rabbit.connection.ConnectionFactory 的方法,然后把这个类注入到Spring中,就像 AbstractRoutingDataSource 一样
springboot自动装配mq的方式是池化的,无法修改,如果需要动态连接,你考虑下是否可以每次直接连接。
自定义一个实现代理类代理实现 org.springframework.amqp.rabbit.connection.ConnectionFactory 的方法,然后把这个类注入到Spring中,就像 AbstractRoutingDataSource 一样