【发布时间】:2018-05-17 11:47:09
【问题描述】:
我想知道是否有任何替代方法可以创建/更改/删除exchanges、queues 和bindings,而不依赖于框架(在我的情况下是 Spring)以及他的限制。
问题
我经常需要更改 Routing Key、Queue 或 Exchange 的名称,而这些框架不允许做这种“精炼”的改变。因此,趋势是继续使用队列/键的原始名称,甚至是原始设置(durable、DLQ 等)。在未来,这最终会混淆队列的组织,因为你不能轻易地对其名称、配置进行适当的维护,最终在不同的交易所重新组织它们等等。
实际上,实现这一点的唯一方法是手动将它们从每个环境中删除,然后让框架重新创建它们。或者移动临时队列的消息来做同样的事情。
我想知道是否有任何替代方法来控制这一点,例如用于数据库迁移的工具,如 Liquibase、Flyway 等。
以数据库问题为例,目前让 Spring 在 RabbitMQ 中创建所有内容在我看来类似于将 update 上的 hbm2ddl Hibernate 选项留在生产数据库上。
【问题讨论】:
标签: java spring rabbitmq migration spring-rabbit