如何在Testcontainers中定义启用Shovel和Stream插件的RabbitMQ容器
启用Shovel和Stream插件的RabbitMQ容器配置
你可以直接通过Testcontainers的RabbitMQContainer提供的withPluginsEnabled方法,指定要启用的插件名称,无需手动执行插件启用命令。
修改后的完整代码如下:
@Container protected RabbitMQContainer container = new RabbitMQContainer(DockerImageName.parse("rabbitmq").withTag("3-management")) .withPluginsEnabled("rabbitmq_shovel", "rabbitmq_shovel_management", "rabbitmq_stream");
插件说明:
rabbitmq_shovel:Shovel核心插件,负责跨实例/集群的消息转发rabbitmq_shovel_management:Shovel管理插件,配合3-management镜像使用,可在RabbitMQ管理界面查看和配置Shovel规则rabbitmq_stream:Stream协议支持插件,用于RabbitMQ的Stream功能测试
验证插件是否启用(可选)
如果需要在集成测试中验证插件状态,可以执行容器内命令检查:
// 获取已启用插件列表 String enabledPlugins = container.execInContainer("rabbitmq-plugins", "list", "-E").getStdout(); // 断言插件已启用 assertTrue(enabledPlugins.contains("rabbitmq_shovel")); assertTrue(enabledPlugins.contains("rabbitmq_stream"));
内容的提问来源于stack exchange,提问作者john_boy
相关产品推荐
相关产品推荐

