You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 14:30:38