其他分享
首页 > 其他分享> > 必备新版RabbitMQ教程-高性能消息队列RabbitMQ课程介绍-小滴课堂

必备新版RabbitMQ教程-高性能消息队列RabbitMQ课程介绍-小滴课堂

作者:互联网


 

第七章 玩转RabbitMQ 交换机和发布订阅模型实战

第1集 RabbitMQ的常见的Exchange交换机介绍

简介:RabbitMQ的Exchange交换机介绍

第2集 RabbitMQ的发布订阅消息模型介绍

简介:RabbitMQ的发布订阅消息模型介绍

第3集 RabbitMQ的发布订阅消息模型代码实战

简介:RabbitMQ的发布订阅消息模型代码实战

public class Send {    private final static String EXCHANGE_NAME = "exchange_fanout";    public static void main(String[] argv) throws Exception {        ConnectionFactory factory = new ConnectionFactory();        factory.setHost("10.211.55.13");        factory.setUsername("admin");        factory.setPassword("password");        factory.setVirtualHost("/dev");        factory.setPort(5672);        /**         * 消息生产者不用过多操作,只需要和交换机绑定即可         */        try (//创建连接             Connection connection = factory.newConnection();             //创建信道             Channel channel = connection.createChannel()) {            //绑定交换机,fanout扇形,即广播类型            channel.exchangeDeclare(EXCHANGE_NAME,BuiltinExchangeType.FANOUT);            String message = "Hello World pub !";            channel.basicPublish(EXCHANGE_NAME, "", null, message.getBytes(StandardCharsets.UTF_8));            System.out.println(" [x] Sent '" + message + "'");        }    }}

public class Recv1 {    private final static String EXCHANGE_NAME = "exchange_fanout";    public static void main(String[] argv) throws Exception {        ConnectionFactory factory = new ConnectionFactory();        factory.setHost("10.211.55.13");        factory.setUsername("admin");        factory.setPassword("password");        factory.setVirtualHost("/dev");        factory.setPort(5672);        //消费者一般不增加自动关闭        Connection connection = factory.newConnection();        Channel channel = connection.createChannel();        //绑定交换机,fanout扇形,即广播类型        channel.exchangeDeclare(EXCHANGE_NAME,BuiltinExchangeType.FANOUT);        //获取队列(排它队列)        String queueName = channel.queueDeclare().getQueue();        //绑定队列和交换机,fanout交换机不用指定routingkey        channel.queueBind(queueName,EXCHANGE_NAME,"");        DeliverCallback deliverCallback = (consumerTag, delivery) -> {            String message = new String(delivery.getBody(), "UTF-8");            System.out.println(" [x] Received '" + message + "'");        };        //自动确认消息        channel.basicConsume(queueName, true, deliverCallback, consumerTag -> { });    }}

 

 

标签:教程,队列,绑定,factory,RabbitMQ,交换机,消息,小滴
来源: https://blog.csdn.net/XDCLASS21/article/details/118048687