• 010 消费者消费消息API


    一 ,概述

      在前面讲述API的时候,没有说明消费者的API,本次在这里需要重点的进行说明, 


    二 .创建消费者

      我们使用现在推荐使用的方式来创建一个消费者.

    下面展示创建一个消费者具体的代码:

      现在推荐使用的就是创建一个DefaultConsumer的子类,重写其中对应的方法,这是一种面向事件的编程模型.

        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("获取到消息了,小心的内容是===" + message );
                }
            };

    我们使用上面的方式创建了一个消费者,同时我们重写了一个接受消息的方法.

      

    在上面的图中,我们看到了很多的回调,我们选择合适的方法进行回调处理.


    三.消费消息

      在消费消息的时候,我们会使用basicConsumer方法进行.

    String basicConsume(String queue, boolean autoAck, Consumer callback) throws IOException;

    这个方法是我们最常用的消费者消费消息的方法了.

    我们只需要注意一个参数就好了,是否自动完成ack.

      这里需要介绍一下ack的概念,由于消息中间件需要保证消息的不丢失,只有一个消费得到了对应的ack之后,才会在消息中间件之中删除.

      如果这里设置为true,消费者在获取到消息之后就会自动的发送一个ack.

      一般情况下,我们都会手动的返回ack.

  • 相关阅读:
    xapian的使用
    Andriod 环境配置以及第一个Android Application Project
    2013Esri全球用户大会之ArcGIS for Server&Portal for ArcGIS
    window server 2012 更改密钥 更改系统序列号
    持续集成之路——数据访问层的单元测试(续)
    多项式相乘与相加演示
    hdu 1847 博弈基础题 SG函数 或者规律2种方法
    solaris之cpu
    Android音效SoundPool问题:soundpool 1 not retry
    poj1845-Sumdiv
  • 原文地址:https://www.cnblogs.com/trekxu/p/9778206.html
Copyright © 2020-2023  润新知