<div class="iteye-blog-content-contain" style="font-size: 14px">
在有了构建RabbitMQ 静态Shovel的经验,构建动态Shevol有显得容易多了
首先和构建静态Shovel一样,先运行两个RabbitMQ节点rabbitmq_a和rabbitmq_b,然后给rabbitmq_a设置shevol:
docker exec rabbitmq_a bash -c "rabbitmqctl set_parameter shovel my-shovel '{\"src-uri\": \"amqp://guest:guest@172.17.0.2:5672/%2f\", \"src-queue\": \"my-queue\", \"dest-uri\": \"amqp://guest:guest@172.17.0.3:5672/%2f\", \"dest-queue\": \"another-queue\", \"ack-mode\": \"on-confirm\"}'"
注意需要用转义符"\"
Consumer类
public static void main( String[] args ) throws IOException { init(); boolean autoAck = false; channel.basicConsume("another-queue", autoAck, "myConsumerTag", new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String routingKey = envelope.getRoutingKey(); String contentType = properties.getContentType(); LOGGER.info("routingKey is:" + routingKey); LOGGER.info("contentType is:" + contentType); long deliveryTag = envelope.getDeliveryTag(); // (process the message components here ...) LOGGER.info("content is:" + new String(body,"UTF-8")); channel.basicAck(deliveryTag, false); } }); } public static void init() { factory = new ConnectionFactory(); factory.setUsername("guest"); factory.setPassword("guest"); factory.setVirtualHost("/"); factory.setHost("172.17.0.3"); factory.setPort(5672); try { connection = factory.newConnection(); channel = connection.createChannel(); } catch (IOException e) { e.printStackTrace(); } catch (TimeoutException e) { e.printStackTrace(); } }
Producer
@Test public void direct() throws IOException { AMQP.BasicProperties properties = new AMQP.BasicProperties().builder().contentType("text/plain").build(); byte[] messageBodyBytes; for (int i = 0; i < 3; i++) { messageBodyBytes = ("Dynamic Shovel Test! No." + i).getBytes(); channel.basicPublish("", "my-queue", properties, messageBodyBytes); } }
</div>
相关推荐
NULL 博文链接:https://gwj41.iteye.com/blog/2376351
docker安装rabbitmq3.8集群-3台-详细笔记文档-带安装包
2. 启动 RabbitMQ 容器:使用 Docker 的 run 命令启动 RabbitMQ 容器,例如:`docker run -d -p 5672:5672 -p 15672:15672 --name myrabbitmq docker.io/rabbitmq:3.9.8-management`。 - `-p 5672:5672` 标识 Linux...
本文将详细介绍如何使用 Docker 安装 RabbitMQ 及安装延迟插件。RabbitMQ 是一种基于 AMQP 协议的消息队列系统,通常用于实现分布式系统之间的消息传递和解耦。 什么是 MQ MQ(Message Queue)是一种消息队列系统...
docker-rabbitmq-cluster集群搭建docker-rabbitmq-cluster集群搭建
ARM版本的 rabbitmq 镜像资源 版本 3.8.9 使用拷贝到主机 执行:docker load < rabbitmq_arm3.8.9.tar 生成docker镜像
2020谷粒商城课件手敲版,视频官网已经放出来了,但是里面讲课的课件没有,找了好久也没找到,于是乎就有了手敲版的docker部署rabbitmq,仅是docker部署rabbitmq部分。
本指南从基础到实践,全面覆盖了Docker及RabbitMQ的基础知识,包括Docker的安装与配置、Docker镜像的获取与构建、Docker容器的启动与管理。特别针对RabbitMQ的部署,文档详细讲解了如何在Docker环境下快速搭建...
1.Docker搭建RabbitMQ集群
CentOS7 安装 Docker 并配置国内镜像并构建 RabbitMQ 镜像 本文将指导读者在 CentOS7 环境中安装 Docker,并配置国内镜像,最后构建 RabbitMQ 镜像。整个过程中,我们将使用阿里云的 Docker 镜像加速器,以加快镜像...
黑马商城docker镜像rabbitmq资源
docker,rabbitmq,安装配置与启动,默认用户与密码
rabbitmq docker镜像压缩包
本篇文章主要介绍了docker搭建rabbitmq集群环境的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
使用STOMP插件运行RabbitMQ的基本映像 感谢tumtumcloud! 这些内容基于出色的https://github.com/tutumcloud/rabbitmq图像。 建立它 docker build -t yourid/rabbitmq:latest . 运行 docker run --name=...
RabbitMQ服务器使用Erlang编程语言编写,并基于Open Telecom Platform框架构建,用于集群和故障转移。 与代理接口的客户端库适用于所有主要编程语言。 TL; DR $ docker run --name rabbitmq bitnami/rabbitmq:...
docker-rabbitmq-mqtt 启用了 mqtt 的 rabbtimq 的 Docker 镜像
完成在docker中安装rabbitmq,简单易上手,命令行解释,每个命令的含义等详解。 解决了docker内部安装完成,外部浏览器无法访问的问题。
Windows操作系统下,基于Docker,创建rabbitmq容器,建立消息队列服务
Docker 部署RabbitMQ