RabbitMQ—Android客户端

后端存储 简书

工作原理

RabbitMQ-中文文档

RabbitMQ-官网

上面的网站详细的描述了整个框架。建议没接触过RabbitMQ的同学先看看。了解原理后,就直接看下面的代码吧。

生产者

由于后台缘故,这里不需要exchange。想要看完整的流程的同学可以去看这篇文章。

注意要在子线程中运行

ConnectionFactory factory = new ConnectionFactory();
        factory.setHost(HOST);//ip地址
        factory.setPort(PORT);//端口号
        factory.setUsername("test");
        factory.setPassword("test");
        //创建一个新连接
        Connection connection = factory.newConnection();
        //创建一个通道
        Channel channel = connection.createChannel();
        //声明一个队列
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);
        //发送消息
        channel.basicPublish("", QUEUE_NAME, null, message.getBytes("UTF-8"));
        //消息发送完成后,需要关闭通道和连接
        channel.close();
        connection.close();

消费者

ConnectionFactory factory = new ConnectionFactory();
        factory.setHost(HOST);
        factory.setPort(PORT);
        factory.setUsername("test");
        factory.setPassword("test");
        Connection connection = factory.newConnection();
        Channel channel = connection.createChannel();

        //声明一个队列
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);
        Consumer consumer = new DefaultConsumer(channel) {
            @Override
            public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
                String message = new String(body, "UTF-8");
                System.out.println("RecvLogsTopic1 [x] Received '" + envelope.getRoutingKey() + "':'" + message + "'");
            }
        };
        channel.basicConsume(QUEUE_NAME, true, consumer);
简书稿源:简书 (源链) | 关于 | 阅读提示

本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 后端存储 » RabbitMQ—Android客户端

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录