Pasos AMQP

Este plugin proporciona una serie de pasos para interactuar con una aplicación vía Advanced Message Queuing Protocol. La implementación subyacente se basa en RabbitMQ, aunque podría cambiar en futuras versiones.

AVISO

Actualmente, esta librería proporciona una funcionalidad muy limitada y existe como prueba de concepto.



Instalación

Incluye el módulo en la sección correspondiente.

es.iti.wakamiti:amqp-wakamiti-plugin:2.4.0
<dependency>
  <groupId>es.iti.wakamiti</groupId>
  <artifactId>amqp-wakamiti-plugin</artifactId>
  <version>2.4.0</version>
</dependency>

Configuración

amqp.connection.url

  • Tipo: string obligatorio

Establece la URL que utilizará el agente AMQP.

Ejemplo:

amqp:
  connection:
    url: amqp://127.0.0.1:5671

amqp.connection.username

  • Tipo: string obligatorio

Establece el nombre de usuario que utilizará el agente AMQP.

Ejemplo:

amqp:
  connection:
    username: guest

amqp.connection.password

  • Tipo: string obligatorio

Establece la contraseña de usuario que utilizará el agente AMQP.

Ejemplo:

amqp:
  connection:
    password: guest

amqp.queue.durable

  • Tipo: boolean
  • Por defecto: false

Establece si la cola será duradera o no (la cola sobrevivirá a un reinicio del servidor).

Ejemplo:

amqp:
  queue:
    durable: "true"

amqp.queue.exclusive

  • Tipo: boolean
  • Por defecto: false

Establece si la cola será exclusiva (restringida a la conexión actual).

Ejemplo:

amqp:
  queue:
    exclusive: "true"

amqp.queue.autodelete

  • Tipo: boolean
  • Por defecto: false

Establece si la cola de eliminación automática (el servidor la eliminará cuando ya no esté en uso).

Ejemplo:

amqp:
  queue:
    autodelete: "true"

Pasos

Definir conexión

la conexión AMQP con URL {url} usando el usuario {username} y la contraseña {password}

Establece la URL y las credenciales que utilizará el agente AMQP. Esta es la forma descriptiva de establecer las propiedades amqp.connection.url, amqp.connection.username, amqp.connection.password.

Parámetros:

Nombre Wakamiti type Descripción
url text obligatorio La URL del agente
username text obligatorio Nombre de usuario
password text obligatorio Contraseña de usuario

Ejemplos:

Dada la conexión AMQP con URL 'amqp://127.0.0.1:5671' usando el usuario 'guest' y la contraseña 'guest'

Definir cola destino

la cola de destino {word}

Establece el nombre de la cola que se observará.

Parámetros:

Nombre Wakamiti type Descripción
word word obligatorio Nombre de la cola

Ejemplos:

Dada la cola de destino TEST

Enviar mensaje a cola

se envía a la cola {word} el siguiente mensaje JSON:
    {data}

Envía un mensaje JSON a la cola indicada.

Parámetros:

Nombre Wakamiti type Descripción
word word obligatorio Nombre de la cola
data document obligatorio Mensaje JSON

Ejemplos:

Cuando se envía a la cola TEST el siguiente mensaje JSON:
    """json
    {
        "data": {
            "message": "Test message sent"
        }
    }
    """

Enviar mensaje a cola (fichero)

se envía a la cola {queue} el mensaje del fichero JSON {file}

Envía el contenido de un fichero JSON a la cola indicada.

Parámetros:

Nombre Wakamiti type Descripción
file file obligatorio Fichero JSON
queue word obligatorio Nombre de la cola

Ejemplos:

Cuando se envía a la cola TEST el mensaje del fichero JSON 'data/message.json'

Establecer pausa

se espera durante {integer} segundo(s)

Se produce una espera de un número fijo de segundos (generalmente para asegurarse de que se haya procesado el mensaje).

Parámetros:

Nombre Wakamiti type Descripción
integer integer obligatorio Cantidad de tiempo (en segundos)

Ejemplos:

* se espera durante 2 segundos

Validar mensaje

el siguiente mensaje JSON se recibe en {integer} segundos:
    {data}

Valida que se reciba un mensaje JSON específico en la cola observada, produciéndose un fallo después del tiempo de espera indicado.

Parámetros:

Nombre Wakamiti type Descripción
integer integer obligatorio Cantidad de tiempo (en segundos)
data document obligatorio Mensaje JSON

Ejemplos:

Cuando el siguiente mensaje JSON se recibe en 5 segundos:
    """json
      {
        "data": {
          "message": "Test message sent"
        }
      }
    """

Validar mensaje (fichero)

el mensaje del fichero JSON {file} se recibe en {seconds} segundos

Valida que se reciba el contenido de un fichero JSON específico en la cola observada, produciéndose un fallo después del tiempo de espera indicado.

Parámetros:

Nombre Wakamiti type Descripción
file file obligatorio Fichero JSON
seconds integer obligatorio Cantidad de tiempo (en segundos)

Ejemplos:

Cuando el mensaje del fichero JSON 'data/message.json' se recibe en 5 segundos