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

2021-10-19

2021-10-19

RabbitMq的helloworld
    • 结构
    • 1. 创建maven工程,并导入依赖
    • 2. 创建生产者对象
    • 3. 将Rabbitmq部署到ubuntu虚拟机上,并开启服务![在这里插入图片描述](https://img-blog.csdnimg.cn/e65fb46d860b4290b41fa58da84e1ed5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6KGX5bKQ5ouJ5Y2a,size_20,color_FFFFFF,t_70,g_se,x_16)
    • 4. 运行producer程序,发送数据到mq上
    • 5. 创建消费者程序
    • 6. 运行消费者程序,消费消息

结构

rabbitmq作为一个消息中间件,可以从生产者手中获得和存储消息,并被消费者带走。

1. 创建maven工程,并导入依赖
    
        
            com.rabbitmq
            amqp-client
            5.8.0
        
        
            commons-io
            commons-io
            2.6
        
        
            ch.qos.logback
            logback-classic
            1.3.0-alpha5
        
        
            org.slf4j
            slf4j-api
            2.0.0-alpha1
        
    
2. 创建生产者对象
public class producer {

    public final static String QUEUE_NAME="hello";

    public static void main(String[] args) throws IOException, TimeoutException {
        ConnectionFactory factory=new ConnectionFactory();
        factory.setHost("****.****.****.****");
        factory.setUsername("admin");
        factory.setPassword("admin");

        Connection connection=factory.newConnection();
        Channel channel=connection.createChannel();
        

        channel.queueDeclare(QUEUE_NAME,false,false,false,null);
        String message="hello world";
        
        channel.basicPublish("",QUEUE_NAME,null,message.getBytes());
        System.out.println("发送成功");
    }
}

3. 将Rabbitmq部署到ubuntu虚拟机上,并开启服务

可以在web界面进行管理

4. 运行producer程序,发送数据到mq上

5. 创建消费者程序
public class consumer {

    public static void main(String[] args) throws IOException, TimeoutException {
        ConnectionFactory factory=new ConnectionFactory();
        factory.setHost("192.168.***.***");
        factory.setUsername("admin");
        factory.setPassword("admin");

        Connection connection=factory.newConnection();
        Channel channel=connection.createChannel();

        //成功以后的回调函数
        DeliverCallback deliverCallback=(consumerTag,message)->{
            System.out.println(new String(message.getBody()));
        };
        //失败或中断以后的回调函数
        CancelCallback cancelCallback=(message)->{
            System.out.println(message);
        };

        //1.获取消息的队列名称
        //2.是否自动应答
        //3.成功的回调函数
        //4.失败的回调函数
        channel.basicConsume(producer.QUEUE_NAME,true,deliverCallback,cancelCallback )
        }
    }
        )
}

6. 运行消费者程序,消费消息

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

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

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