栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

RabbitMQ---fanout广播模型

RabbitMQ---fanout广播模型

Provicer
public class Provider {
    public static void main(String[] args) throws IOException {
        Connection connection = RabbitMQUtil.getConnection();
        Channel channel = connection.createChannel();
        //通道声明交换机  参数1:交换机名称(不存在则创建) 参数2:交换机类型  fanout:广播类型
        channel.exchangeDeclare("testForFanout","fanout");
        //发送消息
        channel.basicPublish("testForFanout","",null,"fanout".getBytes());
        RabbitMQUtil.closeAll(channel,connection);
    }
}

因为是广播模型,绑定同一个交换机的消费者就可以收到相同的消息,只是消费者的业务处理可能不同,因此简略,此处只有一个消费者

public class Consumer1 {
    public static void main(String[] args) throws IOException {
        Connection connection = RabbitMQUtil.getConnection();
        Channel channel = connection.createChannel();
        //通道绑定交换机
        channel.exchangeDeclare("testForFanout","fanout");
        //临时队列
        String queue = channel.queueDeclare().getQueue();
        //绑定交换机和队列
        channel.queueBind(queue,"testForFanout","");
        //消费消息
        channel.basicConsume(queue,true,new DefaultConsumer(channel){
            @Override
            public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
                System.out.println("消费者1:"+ new String(body));
            }
        });
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/707521.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号