首页 > 其他 > 详细

RabbitMQ中HelloWorld模型实例

时间:2020-04-18 22:00:48      阅读:55      评论:0      收藏:0      [点我收藏+]
        //创建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

 

RabbitMQ中HelloWorld模型实例

原文:https://www.cnblogs.com/teles/p/12727744.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!