关于Java:Spring Boot中对多个RabbitMq虚拟主机的动态支持

Dynamic support for multi RabbitMq virtual hosts in spring boot

我试图实现对多租户Spring Boot应用程序的支持,其中每个租户应用程序都通过RabbitMq将数据发送到Spring Boot应用程序。每个租户都连接到其自己的RabbitMq虚拟主机。可以在下图中显示
enter image description here

这个问题已经问过很多次了,例如

  • 如何在Spring RabbitMQ项目中使用多个虚拟主机?
  • 在Rabbitmq配置Spring Boot中的AMQP中配置多个Vhost
  • 跨多个RabbitMQ实例的RabbitMQ RPC
  • 解决方案似乎是为每个虚拟主机创建多个connectionFactory bean。这些是完全硬编码的解决方案。我想要更易于管理的东西。

    就我而言,每个虚拟主机的交换名称和绑定密钥相同。到目前为止,Spring Boot应用程序能够连接到一个虚拟主机。

    我希望我的Spring Boot应用程序能够处理所有这些虚拟主机以及在spring概要文件中完成的必需凭据,而不是为每个连接工厂创建单独的bean。

    有没有一种方法可以在Spring概要文件中实现对多个虚拟主机的支持,或者如果可能的话,还有其他更好的方法来解决我以及许多其他开发人员所面临的问题吗?

    谢谢


    添加此功能存在一个未解决的问题。 作者已经有一个spring-multirabbit项目,可以满足您的需求。