Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

18.8.2. Configuration des paramètres de l'adresse JMS

Le sous-système JMS comprend plusieurs options configurables qui gèrent différents aspects de la transmission des messages, le nombre de tentatives d'envoi, et quand le message devra expirer. Ces options de configuration sont contenues dans l'élément de configuration <address-settings>.
Une des caractéristiques des configurations d'adresse est la syntaxe commune pour faire correspondre des adresses diverses, connue également sous le nom de Wildcard (caractères génériques).
Syntaxe Wildcard

Les adresses en syntaxe wildcard peuvent être utilisées pour faire correspondre plusieurs adresses similaires à une seule instruction, ce qui est semblable à la façon dont nombreux systèmes utilisent le caractère astérisque (*) pour faire correspondre plusieurs fichiers ou chaînes dans une seule recherche. Les caractères suivants ont une signification particulière dans un énoncé wildcard.

Tableau 18.5. Syntaxe Wildcard JMS

Caractère Description
. (point simple) Marque l'espace entre les mots au sein d'une expression wildcard.
# (a pound or hash symbol) Fait correspondre une séquence de zéros ou de plusieurs mots.
* (un astérisque) Faire correspondre à un mot unique.

Tableau 18.6. Exemples de JMS Wildcards

Exemple Description
news.europe.#
Correspond à news.europe, news.europe.sport, news.europe.politic, mais pas à news.usa ou europe.
news.*
Correspond à news.europe mais pas à news.europe.sport.
news.*.sport
Correspond à news.europe.sport et news.usa.sport, mais pas à news.europe.politics.

Exemple 18.2. Configuration des paramètres d'adresse par défaut

Les valeurs dans cet exemple sont utilisées pour illustrer le reste de ce topic.
<address-settings>
    <!--default for catch all-->
    <address-setting match="#">
        <dead-letter-address>jms.queue.DLQ</dead-letter-address>
        <expiry-address>jms.queue.ExpiryQueue</expiry-address>
        <redelivery-delay>0</redelivery-delay>
        <max-size-bytes>10485760</max-size-bytes>
        <address-full-policy>BLOCK</address-full-policy>
        <message-counter-history-day-limit>10</message-counter-history-day-limit>
    </address-setting>
</address-settings>

Tableau 18.7. Description de la configuration des paramètres de l'adresse JMS

Élément Description Valeur par défaut Type
address-full-policy
Détermine ce qui se passe quand une adresse dont la max-size-bytes est spécifiée, est remplie.
PAGE
STRING
dead-letter-address
Si une adresse de lettres mortes est spécifiée, les messages seront déplacés vers l'adresse de lettres mortes si les tentatives de livraison max-livraison-tentatives ont échoué. Dans le cas contraire, ces messages non remis seront ignorés. Les caractères génériques (wildcard) sont autorisés.
jms.queue.DLQ
STRING
expiry-address
Si l'adresse d'expiration est présente, les messages expirés seront envoyés à l'adresse ou aux adresses correspondantes, au lieu d'être jetés. Les caractères génériques (wildcards) sont autorisés.
jms.queue.ExpiryQueue
STRING
last-value-queue
Définit si une file d'attente utilise uniquement les dernières valeurs ou non.
false
BOOLÉEN
max-delivery-attempts
Le nombre max de tentatives d'envoi d'un message avant qu'il soit envoyé à dead-letter-address ou qu'il soit ignoré.
10
INT
max-size-bytes
La taille maximum d'octets.
10485760L
LONG
message-counter-history-day-limit
Limite en Jours de l'historique du compteur de messages.
10
INT
page-max-cache-size
Le nombre de pages de fichiers à conserver en mémoire pour optimiser IO en cours de navigation de pagination.
5
INT
page-size-bytes
La taille de pagination.
5
INT
redelivery-delay
La durée entre les tentatives de re-livraison, exprimée en millisecondes. Si défini sur la valeur 0, les tentatives de re-livraison auront lieu indéfiniment.
0L
LONG
redistribution-delay
Définit la durée à attendre jusqu'à ce que le dernier consommateur d'une file d'attente soit fermé, avant de pouvoir redistribuer des messages.
-1L
LONG
send-to-dla-on-no-route
Un paramètre pour une adresse qui définit la condition d'un message non acheminé vers une file d'attente pour qu'il soit envoyé à la place vers une file d'attente des messages morts ou DLA (de l'anglais Dead Letter Queue) indiquée pour cette adresse.
false
BOOLÉEN
  • Configurer les paramètres de l'adresse et les attributs du modèle

    Choisir l'interface CLI ou la console de gestion pour configurer vos attributs de modèle selon les besoins.
    • Configurer les paramètres de l'adresse par l'interface CLI

      Utiliser l'interface CLI pour configurer les paramètres de l'adresse.
      1. Ajouter un nouveau Modèle

        Utiliser l'opération add pour créer un nouveau paramètre d'adresse, si nécessaire. Vous pouvez exécuter cette commande à partir de la racine de la session d'interface CLI, qui, dans les exemples suivants, crée un nouveau modèle ou motif intitulé patternname avec un attribut max-delivery-attempts déclaré à 5. Voici des exemples pour les modifications sur le serveur autonome et le domaine géré pour le profil full.
        [standalone@localhost:9999 /] /subsystem=messaging/hornetq-server=default/address-setting=patternname/:add(max-delivery-attempts=5)
        [domain@localhost:9999 /] /profile=full/subsystem=messaging/hornetq-server=default/address-setting=patternname/:add(max-delivery-attempts=5)
      2. Modifier les attributs de modèle

        Utiliser l'opération write pour écrire une nouvelle valeur dans un attribut. Vous pouvez utiliser l'onglet de complétion pour terminer la chaîne de commande en cours, ainsi que pour exposer les attributs disponibles. L'exemple suivant met à jour la valeur de max-delivery-attempts à 10
        [standalone@localhost:9999 /] /subsystem=messaging/hornetq-server=default/address-setting=patternname/:write-attribute(name=max-delivery-attempts,value=10)
        [domain@localhost:9999 /] /profile=full/subsystem=messaging/hornetq-server=default/address-setting=patternname/:write-attribute(name=max-delivery-attempts,value=10)
      3. Confirmer les attributs de modèle

        Confirmer que les valeurs ont changé en exécutant read-resource accompagné du paramètre include-runtime=true pour exposer toutes les valeurs actives en cours du modèle de serveur.
        [standalone@localhost:9999 /] /subsystem=messaging/hornetq-server=default/address-setting=patternname/:read-resource
        [domain@localhost:9999 /] /profile=full/subsystem=messaging/hornetq-server=default/address-setting=patternname/:read-resource
    • Configurer les paramètres de l'adresse par la console de gestion

      Utiliser la console de gestion pour configurer les paramètres de l'adresse.
      1. Connectez-vous à la console de gestion de votre domaine géré ou de votre serveur autonome.
      2. Sélectionner l'onglet Configuration en haut de l'écran. En mode de domaine, sélectionner un profil à partir du menu Profile en haut et à gauche. Seuls les profils full et full-ha ont le sous-système messaging activé.
      3. Étendre le menu Messaging, et sélectionner Destinations.
      4. Une liste de fournisseurs JMS s'affiche. Dans la configuration par défaut, on ne voit que le fournisseur par default. Cliquer sur View pour afficher les paramètres de ce fournisseur en détail.
      5. Cliquer sur l'onglet Address Settings. Ensuite, vous pourrez soit ajouter un nouveau modèle en cliquant sur Add, ou sélectionner un modèle existant et cliquer sur Edit pour mettre les paramétres à jour.
      6. Si vous ajoutez un modèle, le champ Pattern s'en référera au paramètre match de l'élément address-setting. Vous pourrez aussi modifier Dead Letter Address, Expiry Address, Redelivery Delay, et Max Delivery Attempts. Les autres options doivent être configurées par l'interface CLI.