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

Rabbitmq点对点通信

Rabbitmq点对点通信

1.导入依赖



    
        
            org.apache.maven.plugins
            maven-compiler-plugin
            
                8
                8
            
        
    


    
    
        com.rabbitmq
        amqp-client
        5.8.0
    
    
    
        commons-io
        commons-io
        2.6
    

2.生产者代码

public class Producer {
    //队列名称
    public static final String QUEUE_NAME = "hello";

    //发消息
    public static void main(String[] args)  {
        //创建一个连接工厂
        ConnectionFactory factory = new ConnectionFactory();
        //工厂IP 连接RabbitMq的队列
        factory.setHost("116.62.242.245");
        //用户名
        factory.setUsername("admin");
        //密码
        factory.setPassword("123");


        //创建连接
        try {
          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("消息发送完毕");





        } catch (Exception e) {
            e.printStackTrace();
        }


    }


}

3.消费者代码

public class Consumer {
    //队列名称
    public static final String QUEUE_NAME = "hello";

    //接收消息
    public static void main(String[] args) {
        //创建链接工厂
        ConnectionFactory factory = new ConnectionFactory();

        factory.setHost("116.62.242.245");
        //用户名
        factory.setUsername("admin");
        //密码
        factory.setPassword("123");

        try {
            Connection connection = factory.newConnection();

            Channel channel = connection.createChannel();

            
            System.out.println("等待接收消息....");
            //推送的消息如何进行消费的接口回调
            DeliverCallback deliverCallback = (consumerTag,delivery)->{
                String message= new String(delivery.getBody());
                System.out.println(message);

            };

            //取消消费的一个回调接口 如在消费的时候队列被删除掉了
            CancelCallback cancelCallback=(consumerTag)->{
                System.out.println("消息消费被中断");
            };


            channel.basicConsume(QUEUE_NAME,true,deliverCallback,cancelCallback);



        } catch (Exception e) {
            e.printStackTrace();
        }


    }



}

开启一个生产者

开启一个消费者接收消息

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

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

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