Skip to content

体验 RobustMQ AMQP

前提:启动 Broker

参考 快速安装 完成安装,然后启动服务:

bash
robust-server start

AMQP 协议随 RobustMQ 一起启动,默认监听端口 5672,无需额外配置——与 MQTT、Kafka、NATS、mq9 是同一个 Broker 进程,一条命令启动后所有协议同时就绪。


准备 AMQP 客户端

RobustMQ 兼容标准 AMQP 0-9-1 协议帧格式,任意标准客户端库(如 RabbitMQ Java Client)都可以直接连接,无需 RobustMQ 专用 SDK。以下以 Java 为例。

xml
<dependency>
    <groupId>com.rabbitmq</groupId>
    <artifactId>amqp-client</artifactId>
    <version>5.21.0</version>
</dependency>

连接、声明、发布、消费

java
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("127.0.0.1");
factory.setPort(5672);
factory.setUsername("admin");
factory.setPassword("robustmq");

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

    // 声明交换机与队列,并绑定
    channel.exchangeDeclare("demo-exchange", BuiltinExchangeType.DIRECT, true);
    channel.queueDeclare("demo-queue", true, false, false, null);
    channel.queueBind("demo-queue", "demo-exchange", "demo-key");

    // 发布一条消息(开启 confirm 保证可靠投递)
    channel.confirmSelect();
    channel.basicPublish("demo-exchange", "demo-key", null, "hello robustmq".getBytes());
    channel.waitForConfirms(3000);

    // 消费这条消息
    GetResponse resp = channel.basicGet("demo-queue", true);
    if (resp != null) {
        System.out.println("received: " + new String(resp.getBody()));
    }
}

预期输出:

text
received: hello robustmq

下一步

🎉 既然都登录了 GitHub,不如顺手给我们点个 Star 吧!⭐ 你的支持是我们最大的动力 🚀