Téléchargement des produits


Version anglaise


 


Cette fonction permet de créer une queue (une entité file d'attente de messages) dans un broker de messages supportant le protocole AMQP v0.9.1. Cette API a été validée avec le logiciel d'agent de messages open source RabbitMQ (https://www.rabbitmq.com/).


L'exécution de cette fonction s'appuie sur un fichier de paramétrage (au format YAML dans un environnement Windows ou Java, au format XML dans un environnement AS/400), définissant la configuration détaillée du broker logique Adelia manipulé.

Une queue est définie par un nom unique. Il n'est donc pas possible de créer deux queues de même nom mais avec des caractéristiques différentes. Une queue peut être liée à plusieurs exchanges.

De même, une queue peut être liée plusieurs fois à un même exchange en utilisant des clés de routage (routing key) différentes.


Domaine d'application

  • Client Cloud

  • Serveur Java

  • Client Java

  • Client Web

  • Client Windows

  • Serveur Windows

  • Serveur AS/400


Paramètres

ALPHA(n)

AdeliaLogicalBroker

Nom du broker logique Adelia. Ses paramètres (broker, port, etc.) sont définis dans le fichier de configuration AdeliaLogicalBrokersConfig.yaml.

ALPHA(n)

QueueName

Nom de la queue dans laquelle sera stocké le message.

BOOL

Durable

Une queue durable est automatiquement recrée lorsque le broker de message redémarre.

BOOL

AutoDelete

Si la valeur est *VRAI, alors la queue qui a eu au moins un client consommateur de messages sera supprimée lors de la désinscription du dernier client consommateur.

BOOL

Exclusive

Une queue exclusive est utilisée par une seule connexion et sera supprimée à la fermeture de cette connexion.

IMAGE ou ALPHA QueueArguments

Paramètres supplémentaires permettant de particulariser la queue à créer. Ce paramètre doit être au format JSON sous la forme d'un objet. Ses attributs sont parmi les suivants :

    • x-message-ttl
    • x-expires
    • x-max-length
    • x-max-length-bytes
    • x-overflow
    • x-dead-letter-exchange
    • x-dead-letter-routing-key
    • x-max-priority
    • x-queue-mode
    • x-queue-master-locator

Cf. https://www.rabbitmq.com/queues.html

IMAGE ou ALPHA

QueueBinding

Information de liaison entre cette queue et d'autres exchanges. Ce paramètre doit être au format JSON sous la forme d'une liste d'objets. Chaque objet représente une configuration de liaison entre cette queue et un autre exchange. Les attributs sont parmi les suivants :

    • exchange : nom de l'exchange à lier,
    • routingKey : clé de routage des messages permettant à l'exchange de faire suivre ce message à cette queue,
    • arguments : objet permettant de définir un critère de liaison avec un exchange de type "headers";.

Cf. https://www.cloudamqp.com/blog/2015-09-03-part4-rabbitmq-for-beginners-exchanges-routing-keys-bindings.html

NUM_BIN_2

CodeRetour

Code retour :

0 : Succès de l'exécution.


-1 : Le paramètre QueueArguments n'est pas du bon type Adélia.

-2 : Le paramètre QueueBinding n'est pas du bon type Adélia.

-3 : Le paramètre AdeliaLogicalBroker ne doit pas être vide.

-4 : Le paramètre QueueName ne doit pas être vide.


-5 : Erreur lors de l'analyse syntaxique du paramètre QueueArguments.

-6 : Erreur lors de la transformation JSON du paramètre QueueArguments.

-7 : Erreur lors de la lecture du paramètre QueueArguments.



-8 : Erreur lors de l'analyse syntaxique du paramètre QueueBinding.

-9 : Erreur lors de la transformation JSON du paramètre QueueBinding.

-10 : Erreur lors de la lecture du paramètre QueueBinding.



-11 : Configuration non chargée. Aucun broker logique défini (fichier .YAML non défini, trouvé, ou chargé).

-12 : Aucune configuration définie dans le fichier .YAML pour l'Adélia broker logique spécifié.

-13 : Erreur lors de la création du client d'agent de message.

-14 : Erreur lors de la création des entités (exchanges, queues, liaisons) définies dans la configuration du broker logique AdeliaLogicalBroker.


40 : Erreur lors de la déclaration de la queue au broker de message.

50 : Erreur lors de la déclaration des liaisons entre cette queue et les exchanges.



Exemple 1

myQueue = 'queue1'


* Creation d'une queue non durable, en suppression automatique et non exclusive lié par defaul à l'exchange par default de nom ''

APPELER_DLL 'VaToolBx' 'VaToolBxAMQPCreateQueue 'myLogicalBroker' myQueue *FAUX *VRAI *FAUX *BLANK *BLANK myReturnCode




Exemple 2

myQueue  = 'queue1'  

myQueueBinding  = '[{"exchange": "directExchange1", "routingKey": "routeOne"}, {"exchange": "topicExchange1", "routingKey": "topicOne.*"}]'  


* Création d'une queue liée à l'exchange directExchange1 avec comme  routing  key ' routeOne ' et  lié à l'exchange  topic Exchange1 avec comme  routing  key ' topicOne .* '  

APPELER_DLL 'VaToolBx' 'VaToolBxAMQPCreateQueue' 'myLogicalBroker'  myQueue  *FAUX *VRAI *FAUX *BLANK  myQueueBinding   myReturnCode


Liste des fonctions de la DLL VaToolBx par thème

↑ Haut de page




  • Aucune étiquette