zoukankan      html  css  js  c++  java
  • RabbitMQ中HelloWorld模型实例

            //创建MQ连接工厂对象
            ConnectionFactory connectionFactory = new ConnectionFactory();
            //设置连接RabbitMQ主机
            connectionFactory.setHost("192.168.153.138");
            //设置端口号
            connectionFactory.setPort(5672);
            //设置连接哪个虚拟主机
            connectionFactory.setVirtualHost("/ems");
            //设置访问虚拟主机用户名密码
            connectionFactory.setUsername("ems");
            connectionFactory.setPassword("123");
    
            //获取连接对象
            Connection connection = connectionFactory.newConnection();
            //获取连接中通道
            Channel channel = connection.createChannel();
            //通道绑定对应的消息队列
            //参数1:队列名称 如果队列不存在自动创建
            //参数2:用来定义队列是否要持久化 true 持久化   false 不持久化
            //参数3:是否独占队列 true 独占   false 不独占
            //参数4:是否在消费后自动删除队列 true 自动删除 false 不自动删除
            //参数5:额外参数
            channel.queueDeclare("hello", false, false, false, null);
            //参数1:交换机
            //参数2:队列名称
            //参数3:传递消息额外设置
            //参数4:消息具体内容
            channel.basicPublish("", "hello", null, "hello rabbitmq".getBytes());
    
            channel.close();
            connection.close();

    消费者消费

            //创建MQ连接工厂对象
            ConnectionFactory connectionFactory = new ConnectionFactory();
            //设置连接RabbitMQ主机
            connectionFactory.setHost("192.168.153.138");
            //设置端口号
            connectionFactory.setPort(5672);
            //设置连接哪个虚拟主机
            connectionFactory.setVirtualHost("/ems");
            //设置访问虚拟主机用户名密码
            connectionFactory.setUsername("ems");
            connectionFactory.setPassword("123");
    
            //获取连接对象
            Connection connection = connectionFactory.newConnection();
            //获取连接中通道
            Channel channel = connection.createChannel();
            //通道绑定对应的消息队列
            //参数1:队列名称 如果队列不存在自动创建
            //参数2:用来定义队列是否要持久化 true 持久化   false 不持久化
            //参数3:是否独占队列 true 独占   false 不独占
            //参数4:是否在消费后自动删除队列 true 自动删除 false 不自动删除
            //参数5:额外参数
            channel.queueDeclare("hello", false, false, false, null);
            //消费者
            //参数1:消费哪个队列的消息 队列名称
            //参数2:开始消息的自动确认机制
            //参数3:消费时的回调接口
            channel.basicConsume("hello", true, new DefaultConsumer(channel) {
                @Override
                public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
                    System.out.println("new String(body) = " + new String(body));
                }
            });
    View Code
  • 相关阅读:
    Python基础语法—8小时入门版
    PXE服务搭建及配置
    jenkins pipeline
    Bugzilla的安装和部署
    KVM安装、配置及使用说明
    UOS虚拟显示器&VNC配置
    Sikuli-基于图像识别的自动化测试框架
    UOS(国产Linux操作系统)下使用pytest生成allure自动化测试报告
    dogtail的使用方法(二)——元素操作
    dogtail的使用方法(三)——启动应用
  • 原文地址:https://www.cnblogs.com/teles/p/12727744.html
Copyright © 2011-2022 走看看