• 009 客户端编码


    一 .概述

      Rabbitmq的java客户端的API是本人见过的最垃圾的API的设计,没有之一.

      在这些API之中,竟然使用了方法的重载代表了不同的行为,这也是服气到不行.


    二 .消息的发布

      我们首先看看核心的API:  

    void basicPublish(String exchange, String routingKey, boolean mandatory, BasicProperties props, byte[] body)
      throws IOException;

    我们可以从上面看到,发送一个消息最重要的就是制定一个交换机和路由键,然后最后的参数就是设置消息的内容,中间的参数就是一些附加的属性.

      我们还发现了一个mandatory参数,这个在后面去介绍.

    我们一般不会使用最长的那一个方法,其中的immediate这个参数已经被废弃了.

    记住:

      [1]找到一个交换机

      [2]给出一个路由键

      [3]发送一个消息

      参数和mandatory需要的时候再去设置.


    二 .声明交换机

      在上面,我们看到发布一个消息首先需要声明一个交换机.  

        void exchangeDeclareNoWait(String exchange,
                                   String type,
                                   boolean durable,
                                   boolean autoDelete,
                                   boolean internal,
                                   Map<String, Object> arguments) throws IOException;

    我们就介绍一下这个最长的方法.

    [1]交换机的名称

    [2]交换机的类型

    [3]交换机是否持久化

    [4]是否自动删除(如果这个交换机没有任何一个队列与它有关系,那么它就会被自动删除)

    [5]internal : 这个我们一般设置为false

    [6]附加的参数,对交换机的属性进行设置,这个在后面需要的时候会去介绍


    三 .声明消息队列  

        Queue.DeclareOk queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete,
                                     Map<String, Object> arguments) throws IOException;

    我们只需要介绍这个最长的参数就可以了.

    [1]消息队列的名称

    [2]是否持久化

    [3]是否排他 : 那一个连接(Connection)声明的他,这个队列就会对这个连接有效,当连接断开的时候,这个队列自动删除了.一般情况下,我们不会设置的.

    [4]是否自动删除

    [5]附加的参数


    四 .绑定

      所谓的绑定在前面已经说明过了,就是将消息队列和交换机进行连接,其中,我们需要给出一个绑定键.

      同时还存在交换机和交换机的绑定,这种我们现在先不去说.

    Queue.BindOk queueBind(String queue, String exchange, String routingKey, Map<String, Object> arguments) throws IOException;

    上面的参数比较的简单,就是给出一个队列的名称,然后一个交换机的名称,然后给出一个绑定键的名称就好了.

  • 相关阅读:
    349. Intersection of Two Arrays
    1342. Reduce Array Size to The Half
    Telegram 汉化教程【转】
    jQuery 事件
    jQuery 事件
    jQuery 遍历
    jQuery 遍历
    CocosCreator教程(入门篇)【转】
    JavaScript shift() 方法使用【转】
    jQuery中动画函数animate的用法详解【转】
  • 原文地址:https://www.cnblogs.com/trekxu/p/9778152.html
Copyright © 2020-2023  润新知