RabbitMQ

rabbitmq官网:https://www.rabbitmq.com/
rabbitmq是erlang开发的,需要安装erlang环境
Erlang是一种功能编程语言,也具有运行时环境。
Erlang官网:https://www.erlang.org/


获取连接

public class RabbitMQConnection {
    public static Connection getConnection() throws IOException, TimeoutException {
        ConnectionFactory connectionFactory = new ConnectionFactory();
        // 设置连接虚拟机
        connectionFactory.setVirtualHost("/meiteVirtualHosts");
        // 设置账号密码
        connectionFactory.setUsername("guest");
        connectionFactory.setPassword("guest");
        // 设置ip和端口
        connectionFactory.setHost("127.0.0.1");
        connectionFactory.setPort(5672);
        return connectionFactory.newConnection();
    }
}

生产者

public class Producer {
    public static final String QUEUE_NAME = "queue-name";
    public static void main(String[] args) throws IOException, TimeoutException {
        // 创建连接
        Connection connection = RabbitMQConnection.getConnection();
        // 创建通道
        Channel channel = connection.createChannel();
        String msg = "消息-" + new Date();
        // 发布消息到队列
        channel.basicPublish("",QUEUE_NAME,null,msg.getBytes());
        // 关闭通道和连接
        channel.close();
        connection.close();
    }
}

消费者

public class Comsumer {
    public static final String QUEUE_NAME = "queue-name";
    public static void main(String[] args) throws IOException, TimeoutException {
        // 创建连接
        Connection connection = RabbitMQConnection.getConnection();
        // 创建通道
        Channel channel = connection.createChannel();
        // 消费消息
        DefaultConsumer defaultConsumer = new DefaultConsumer(channel) {
            @Override
            public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
                System.out.println("消费者:" + new String(body, StandardCharsets.UTF_8));
            }
        };
        // 监听队列 autoAck:true自动签收,false手动签收
        channel.basicConsume(QUEUE_NAME,true,defaultConsumer);
        // 长连接不必关闭通道
        //channel.close();
        //connection.close();
    }
}

相关推荐

  1. RabbitMQ

    2024-04-03 20:32:04       62 阅读
  2. <span style='color:red;'>RabbitMQ</span>

    RabbitMQ

    2024-04-03 20:32:04      60 阅读
  3. <span style='color:red;'>RabbitMQ</span>

    RabbitMQ

    2024-04-03 20:32:04      59 阅读
  4. RabbitMQ

    2024-04-03 20:32:04       60 阅读
  5. <span style='color:red;'>RabbitMQ</span>

    RabbitMQ

    2024-04-03 20:32:04      49 阅读
  6. RabbitMq

    2024-04-03 20:32:04       64 阅读
  7. <span style='color:red;'>RabbitMq</span>

    RabbitMq

    2024-04-03 20:32:04      48 阅读
  8. <span style='color:red;'>RabbitMQ</span>

    RabbitMQ

    2024-04-03 20:32:04      45 阅读
  9. <span style='color:red;'>RabbitMQ</span>

    RabbitMQ

    2024-04-03 20:32:04      56 阅读
  10. <span style='color:red;'>RabbitMQ</span>

    RabbitMQ

    2024-04-03 20:32:04      42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-03 20:32:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-03 20:32:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-03 20:32:04       82 阅读
  4. Python语言-面向对象

    2024-04-03 20:32:04       91 阅读

热门阅读

  1. Ceph常用命令总结

    2024-04-03 20:32:04       35 阅读
  2. 面试题多态结合线程

    2024-04-03 20:32:04       40 阅读
  3. MATLAB 按照索引提取点云 (56)

    2024-04-03 20:32:04       45 阅读
  4. Qt控件样式设置其一(常见方法及优缺点)

    2024-04-03 20:32:04       34 阅读
  5. Neo4j基础知识

    2024-04-03 20:32:04       39 阅读
  6. Spring中最常用的11个扩展点

    2024-04-03 20:32:04       32 阅读
  7. ctf.show_web11

    2024-04-03 20:32:04       38 阅读
  8. C++ //练习 11.11 不使用decltype重新定义bookstore。

    2024-04-03 20:32:04       37 阅读
  9. 串匹配【C++ 实现】

    2024-04-03 20:32:04       40 阅读
  10. Linux的Shell基础知识总结

    2024-04-03 20:32:04       35 阅读
  11. redis简介

    2024-04-03 20:32:04       38 阅读
  12. Vue-------自定义指令

    2024-04-03 20:32:04       37 阅读
  13. git diff

    2024-04-03 20:32:04       37 阅读
  14. linux ldd依赖拷贝

    2024-04-03 20:32:04       40 阅读