Téléchargement des produits


Version anglaise


Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

Hardis - Séquence de feuilletage

Volet

Le souscripteur (ou consommateur) Adélia est entièrement géré par l'AMBSS : Celui-ci prend en charge sa création, son démarrage, son arrêt et sa destruction.

Un souscripteur peut être décrit soit statiquement dans un fichier de configuration YAML subscribersConf.yml lu au démarrage de l'AMBSS, soit dynamiquement via l'utilisation d'API REST.

Info
iconfalse

Sommaire
maxLevel1
typeflat
classtoccenterbold

Principes

Un souscripteur Adélia regroupe deux composants :

  • Un souscripteur natif : Il est crée créé à l'aide d'une librairie Java permettant de gérer des clients consommateurs compatibles avec un courtier donné. Il a pour fonction la connexion au courtier, l'abonnement aux sujets et la consommation des messages reçus,
  • un programme EADELIA : Il est appelé par le souscripteur natif à chaque réception de message. Le programme effectue le traitement désiré sur la charge utile du message et suivant le protocole du courtier et l'état du traitement, acquitte positivement ou négativement le message recu.


Diagramme draw.io
bordertrue
diagramNameAdelia subscriber architecture
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth613
revision1


Au démarrage de l'AMBSS, si le fichier YAML subscribersConf.yml existe, la description de chaque souscripteur Adélia est chargée et celui-ci est créé puis démarré. Le souscripteur commence alors à traiter des messages si ceux-ci sont disponibles.

Diagramme draw.io
bordertrue
diagramNameAMBSS start flow
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth382
revision1

Pendant l'exécution de l'AMBSS, il est possible de gérer d'autres souscripteurs Adélia en consommant des services Web REST mis à disposition.

Diagramme draw.io
bordertrue
diagramNameAMBSS REST flow
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth591
revision1

Hardis - Haut de page

↑ Haut de page

Description d'un souscripteur

Un souscripteur Adélia regroupe un certain nombre d'informations :

  • des informations globales au souscripteur (et présentes dans tous les souscripteurs),
  • des informations spécifiques au souscripteur natif sous-jacent (informations de connexion et d'abonnement aux sujets) : ces informations sont différentes en fonction de la librairie Java utilisée et du courtier ciblé.


Quel que soit le formalisme de création d'un souscripteur (en langage YAML via le fichier subscribersConf.yml ou en langage JSON via l'API REST), les informations de description restent identiques.


Zone du sommaire
maxLevel3
locationtop
classminitoc

Structuration d'un souscripteur

Un souscripteur est un objet arborescent défini par un ensemble de propriétés :

NomTypeObligatoireDescription
idAlphanumériqueNonIdentifiant alphanumérique du souscripteur Adélia (doit être unique et non vide). S'il n'est pas renseigné, il sera généré automatiquement.
startOnCreationBooléenNonBooléen indiquant si le souscripteur doit être démarré immédiatement après sa création.
Ancre
souscripteur_objet_config
souscripteur_objet_config

config

ObjetOuiConfiguration globale et spécifique.
       adeliaPoolNameAlphanumériqueNonNom du pool nommé Adélia utilisé pour les connexions BD.

       adeliaPgm

ObjetOuiInformations relatives au programme EADELIA associé.

              objectFileName

AlphanumériqueOui

Nom du fichier objet issu de la génération L3G du programme EADELIA associé.

              javaPackageAlphanumériqueNon

Nom du package Java défini pour la génération L3G du programme EADELIA associé.

              parametersListe d'alphanumériquesNon

Liste des valeurs des paramètres passés au programme EADELIA associé lors de son exécution. L'ordre des valeurs doit respecter l'ordre de déclaration des paramètres dans le programme EADELIA. Les types Adélia de paramètres supportés sont ALPHA / NUM_BIN_2 / NUM_BIN_4 / NUM_BIN_8 / NUM_E / NUM_P / BOOL / DATE / TIME / TIMESTAMP. Le format des valeurs en fonction du type est le suivant :

TypeFormat
ALPHAChaîne alphanumérique
NUM_BIN_2 / NUM_BIN_4 / NUM_BIN_8 / NUM_E / NUM_P

Numérique (séparateur décimal '.' ; sans séparateur des milliers)

Exemple : -1234.56 pour le numérique -1 234,56

BOOLChaîne "true" ou "false"
DATEChaîne alphanumérique (texte entre guillemets) au format date ISO "YYYY-MM-DD"
TIME

Chaîne alphanumérique (texte entre guillemets) au format time ISO "HH.MM.SS"

TIMESTAMP

Chaîne alphanumérique (texte entre guillemets) au format "YYYY-MM-DD-HH.MM.SS.NNNNNN" (NNNNNN pour nanosecondes)

              customObjectMapperAlphanumériqueNonIdentifiant du Java Bean définit dans le fichier beans-context.xml permettant de configurer les propriétés de transformation d'objet JSON en instance de classe Adélia

       brokerConfig

ObjetOuiInformations relatives au souscripteur natif

              factory

ObjetOuiInformations relatives à la fabrique Java responsable de la création du souscripteur Adélia
                     idAlphanumériqueOui

Nom complet de la classe Java fabrique

                     parametersObjetNonTable de hachage (couples de <clé alphanumérique, valeur> utilisés comme paramètres lors de la création de la fabrique)
              brokerConnectionObjetNonConfiguration spécifique des paramètres de connexion du souscripteur natif au courtier ciblé
              subscribeTopicObjetOuiConfiguration spécifique des paramètres d'abonnement du souscripteur natif au courtier ciblé


L'objet config centralise la configuration générale du souscripteur. Y sont regroupés les informations spécifiques au contexte d'exécution Adélia ainsi que les informations spécifiques au souscripteur natif.

Dans un souscripteur Adélia, les informations spécifiques au courtier ciblé sont (en notation XPath) sont :

  • config/brokerConfig/factory/id (et config/brokerConfig/factory/parameters si la fabrique admet des paramètres),
  • config/brokerConfig/brokerConnection,
  • config/brokerConfig/subscribeTopic.


Bloc de code
languageyml
titleExemple de souscripteur Adélia RabbitMQ AMQP en YAML
id: processOrderMRK8
startOnCreation: true
config:
  adeliaPgm:
    javaPackage: my.company
    objectFileName: AMQP1
    parameters:
      - 456
      - MR_K_8
  brokerConfig:
    factory:
      id: com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory
    brokerConnection:
      password: guest
      username: guest
    subscribeTopic:
      consumerPrefetchCount: 1000
      autoAck: false
      queue:
        declarePassive: true
        name: order_event_queue


Bloc de code
languagejs
titleExemple de souscripteur Adélia RabbitMQ AMQP en JSON
{
  "id": "processOrderMRK8",
  "startOnCreation": true,
  "config": {
    "adeliaPgm": {
      "javaPackage": "my.company",
      "objectFileName": "AMQP1",
      "parameters": [
        456,
        "MR_K_8"
      ]
    },
    "brokerConfig": {
      "factory": {
        "id": "com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory"
      },
      "brokerConnection": {
        "password": "guest",
        "username": "guest"
      },
      "subscribeTopic": {
        "consumerPrefetchCount": 1000,
        "autoAck": false,
        "queue": {
          "declarePassive": true,
          "name": "order_event_queue"
        }
      }
    }
  }
}


Configuration spécifique

Elle dépend du courtier ciblé et de la fabrique utilisée. De base, l'AMBSS est livré avec un certain nombre de fabriques qui supportent les courtiers ou protocoles suivants :

Id de fabrique (config/brokerConfig/factory/id)Courtier ou protocole supportéSouscripteur natif utilisé
com.hardis.adelia.ambss.kafkaspring.KafkaSubscriberFactoryCourtier KafkaKafka Spring 2.8.0 (Reference doc)
com.hardis.adelia.ambss.paho.mqttv3.PahoMQTTv3SubscriberFactoryProtocole MQTT v3 (compatible avec Mosquitto, HiveMQ Broker)Eclipse Paho MQTT v3 1.2.5 (Java doc)
com.hardis.adelia.ambss.paho.mqttv5.PahoMQTTv5SubscriberFactoryProtocole MQTT v5 (compatible avec Mosquitto, HiveMQ Broker)Eclipse Paho MQTT v5 1.2.5 (Github)
com.hardis.adelia.ambss.nats.jetstream.JetStreamSubscriberFactoryCourtier Nats JetstreamNats Jetstream Java client 2.13.1 (Github)
com.hardis.adelia.ambss.nats.stan.NatsStreamingSubscriberFactoryCourtier Nats Streaming (Attention: Fin du support en Juin 2023)Nats Streaming Java client 2.2.3 (Github)
com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactoryCourtier RabbitMQ - Procotole AMQP 0.9.1RabbitMQ Java Client 5.7.3 (Github)
com.hardis.adelia.ambss.lettuce.redis.LettuceRedisSubscriberFactoryCourtier Redis Pub/SubLettuce Redis 6.1.6.RELEASE (Github)
Info
titleRemarque :
Toutes ces fabriques n'ont pas de paramètres.


Configuration Kafka

Développer
titlePropriétés de la configuration de connexion config/brokerConfig/brokerConnection

Kafka

Propriétés de la configuration de connexion config/brokerConfig/brokerConnection

Détails dans la documentation Kafka

NomTypeObligatoireDescription
key.deserializerAlphanumériqueOuiClasse Java utilisée pour la désérialisation de la clé du message. Les classes standards supportées sont :
  • org.apache.kafka.common.serialization.ByteArrayDeserializer (type Adélia IMAGE),

  • org.apache.kafka.common.serialization.ByteBufferDeserializer (type Adélia IMAGE),

  • org.apache.kafka.common.serialization.BytesDeserializer (type Adélia IMAGE),

  • org.apache.kafka.common.serialization.DoubleDeserializer (type Adélia NUM_E / NUM_P),

  • org.apache.kafka.common.serialization.FloatDeserializer (type Adélia NUM_E / NUM_P),

  • org.apache.kafka.common.serialization.IntegerDeserializer (type Adélia NUM_BIN_4),

  • org.apache.kafka.common.serialization.LongDeserializer (type Adélia NUM_BIN_8),

  • org.apache.kafka.common.serialization.ShortDeserializer (type Adélia NUM_BIN_2),

  • org.apache.kafka.common.serialization.StringDeserializer (type Adélia ALPHA(n) ),

  • org.apache.kafka.common.serialization.UUIDDeserializer (type Adélia ALPHA(n) ),

  • io.confluent.kafka.serializers.KafkaAvroDeserializer (type Adélia REF_CLASSE).
value.deserializerAlphanumériqueOui

Classe Java utilisée pour la désérialisation de la charge utile du message. Les classes standards supportées sont :

  • org.apache.kafka.common.serialization.ByteArrayDeserializer (type Adélia IMAGE),

  • org.apache.kafka.common.serialization.ByteBufferDeserializer (type Adélia IMAGE),

  • org.apache.kafka.common.serialization.BytesDeserializer (type Adélia IMAGE),

  • org.apache.kafka.common.serialization.DoubleDeserializer (type Adélia NUM_E / NUM_P),

  • org.apache.kafka.common.serialization.FloatDeserializer (type Adélia NUM_E / NUM_P),

  • org.apache.kafka.common.serialization.IntegerDeserializer (type Adélia NUM_BIN_4),

  • org.apache.kafka.common.serialization.LongDeserializer (type Adélia NUM_BIN_8),

  • org.apache.kafka.common.serialization.ShortDeserializer (type Adélia NUM_BIN_2),

  • org.apache.kafka.common.serialization.StringDeserializer (type Adélia ALPHA(n) ),

  • org.apache.kafka.common.serialization.UUIDDeserializer (type Adélia ALPHA(n) ),

  • io.confluent.kafka.serializers.KafkaAvroDeserializer (type Adélia REF_CLASSE).
bootstrap.serversListe d'alphanumériques non videOuiListe des URI des serveurs de courtier Kafka utilisé pour la connexion.
fetch.min.bytesEntierNon

Quantité minimale de données que le serveur doit renvoyer pour une requête de type fetch. Valeur par défaut : 1.

group.id

AlphanumériqueNon

Chaîne unique identifiant le groupe de consommateurs auquel appartient ce souscripteur.

heartbeat.interval.msEntierNon

Intervalle en millisecondes entre les vérifications des pulsations au coordinateur du groupe de consommateurs pour indiquer qu'un souscripteur est actif et connecté. Valeur par défaut : 3000.

max.partition.fetch.bytesEntierNon

Quantité maximale de données par partition que le serveur renverra au souscripteur (en octets). Valeur par défaut : 1048576.

session.timeout.msEntierNon

Durée maximale en millisecondes pendant laquelle un consommateur au sein d'un groupe de consommateurs peut être hors de contact avec un courtier avant d'être considéré comme inactif et qu'un rééquilibrage soit déclenché entre les consommateurs actifs du groupe. Valeur par défaut : 45000.

ssl.key.passwordAlphanumériqueNon

Mot de passe de la clé privée dans le fichier de stockage de clés ou la clé PEM spécifiée dans "ssl.keystore.key". Ceci est requis pour les clients uniquement si l'authentification bidirectionnelle est configurée. Celui-ci peut être saisi en clair ou crypté.

ssl.keystore.certificate.chainAlphanumériqueNon

Chaîne de certificats au format spécifié par "ssl.keystore.type". L'usine de moteur SSL par défaut ne prend en charge que le format PEM avec une liste de certificats X.509.

ssl.keystore.keyAlphanumériqueNon

Clé privée au format spécifié par "ssl.keystore.type". L'usine de moteur SSL par défaut ne prend en charge que le format PEM avec les clés PKCS#8. Si la clé est cryptée, le mot de passe de la clé doit être spécifié à l'aide de "ssl.key.password".

ssl.keystore.locationAlphanumériqueNon

Emplacement du fichier de magasin de clés. Il est facultatif pour le client et peut être utilisé pour une authentification bidirectionnelle pour le client.

ssl.keystore.passwordAlphanumériqueNon

Mot de passe de magasin pour le fichier de magasin de clés. Il est facultatif pour le client et n'est nécessaire que si "ssl.keystore.location" est configuré. Le mot de passe du magasin de clés n'est pas pris en charge pour le format PEM. Celui-ci peut être saisi en clair ou crypté.

ssl.truststore.certificatesAlphanumériqueNon

Certificats de confiance au format spécifié par "ssl.truststore.type". L'usine de moteur SSL par défaut ne prend en charge que le format PEM avec les certificats X.509.

ssl.truststore.locationAlphanumériqueNon

Emplacement du fichier du magasin de confiance.

ssl.truststore.passwordAlphanumériqueNon

Mot de passe du fichier Trust Store. Si aucun mot de passe n'est défini, le fichier Trust Store configuré sera toujours utilisé, mais la vérification d'intégrité est désactivée. Le mot de passe du magasin de confiance n'est pas pris en charge pour le format PEM.  Celui-ci peut être saisi en clair ou crypté.

allow.auto.create.topicsBooléenNon

Permet d'autoriser la création automatique de sujets sur le courtier lors de l'abonnement à un sujet. Valeur par défaut : "true".

auto.offset.resetAlphanumérique. Valeurs possibles : "latest", "earliest" ou "none".Non

Indique ce qu'il faut faire lorsqu'il n'y a pas d'offset initial dans Kafka ou si l'offset actuel n'existe plus sur le serveur (par exemple parce que ces données ont été supprimées). Valeur par défaut : "latest".

client.dns.lookupAlphanumérique. Valeurs possibles : "use_all_dns_ips" ou "resolve_canonical_bootstrap_servers_only"Non

Contrôle la façon dont le souscripteur utilise les recherches DNS. Valeur par défaut : "use_all_dns_ips".

connections.max.idle.msEntierNon

Ferme les connexions inactives après le nombre de millisecondes spécifié par cette configuration. Valeur par défaut : 540000 (9 minutes).

default.api.timeout.msEntierNon

Délai d'attente (en millisecondes) pour les API client. Cette configuration est utilisée comme délai d'expiration par défaut pour toutes les opérations client qui ne spécifient pas de paramètre de délai d'expiration. Valeur par défaut : 60000 (1 minute).

enable.auto.commitBooléenNon

Si vrai, l'offset du consommateur sera périodiquement validé en arrière-plan. Valeur par défaut : "false".

exclude.internal.topicsBooléenNon

Indique si les topics internes correspondant à un modèle d'abonnement (pattern) doivent être exclus de l'abonnement. Il est toujours possible de s'abonner explicitement à un sujet interne. Valeur par défaut : "true".

fetch.max.bytesEntierNonQuantité maximale de données (en octets) que le serveur doit renvoyer pour une requête de type fetch. Valeur par défaut : 52428800.
group.instance.idAlphanumériqueNon

Identifiant unique de l'instance de consommateur fourni par l'utilisateur final.

isolation.levelAlphanumérique. Valeurs possibles : "read_committed" ou "read_uncommitted"Non

Contrôle comment lire les messages écrits de manière transactionnelle. Valeur par défaut : "read_uncommitted".

max.poll.interval.msEntierNon

Délai maximal entre les invocations de poll() lors de l'utilisation de la gestion des groupes de consommateurs (en millisecondes). Valeur par défaut : 300000 (5 minutes).

max.poll.recordsEntierNon

Nombre maximum d'enregistrements renvoyés dans un seul appel à poll(). Valeur par défaut : 500.

partition.assignment.strategyListe d'alphanumériquesNon

Liste de noms de classe ou de types de classe, classés par préférence, des stratégies d'attribution de partition prises en charge que le client utilisera pour répartir la propriété de la partition entre les instances de consommateur lorsque la gestion de groupe est utilisée. Valeur par défaut : [ 'org.apache.kafka.clients.consumer.RangeAssignor' , 'org.apache.kafka.clients.consumer.CooperativeStickyAssignor' ]

receive.buffer.bytesEntierNon

Taille du tampon de réception TCP (SO_RCVBUF) à utiliser lors de la lecture des données (en octets). Une valeur de -1 indique que la valeur par défaut de l'OS est utilisée. Valeur par défaut : 65536.

request.timeout.msEntierNon

Durée maximale pendant laquelle le client attendra la réponse d'une requête (en millesecondes). Valeur par défaut: 30000 (30 secondes).

security.protocolAlphanumérique. Valeurs possibles : "PLAINTEXT", "SSL", "SASL_PLAINTEXT" ou "SASL_SSL"Non

Protocole utilisé pour communiquer avec les courtiers. Valeur par défaut : "PLAINTEXT".

send.buffer.bytesEntierNon

Taille du tampon d'envoi TCP (SO_SNDBUF) à utiliser lors de l'envoi de données. Une valeur de -1 indique que la valeur par défaut de l'OS est utilisée. Valeur par défaut : 131072.

socket.connection.setup.timeout.max.msEntierNon

Durée maximale pendant laquelle le client attendra que la connexion socket soit établie (en millisecondes). Valeur par défaut : 30000 (30 secondes).

socket.connection.setup.timeout.msEntierNon

Durée pendant laquelle le client attendra que la connexion socket soit établie (en millisecondes). Valeur par défaut : 10000 (10 secondes).

ssl.enabled.protocolsListe d'alphanumériques. Valeurs possibles : "TLSv1.2" ou "TLSv1.3"Non

Liste des protocoles activés pour les connexions SSL. Valeur par défaut : ['TLSv1.2'] ou ['TLSv1.2' , 'TLSv1.3' ] avec JDK v11 ou supérieur.

ssl.keystore.typeAlphanumériqueNon

Format de fichier du fichier de magasin de clés.

ssl.protocolAlphanumérique. Valeurs possibles : "TLSv1.2" ou "TLSv1.3"Non

Protocole SSL utilisé pour générer le SSLContext. Valeur par défaut : "TLSv1.2" ou "TLSv1.3" avec JDK v11 ou supérieur.

ssl.providerAlphanumériqueNon

Nom du fournisseur de sécurité utilisé pour les connexions SSL.

ssl.truststore.typeAlphanumériqueNon

Format de fichier du fichier Trust Store. Valeur par défaut : "JKS".

auto.commit.interval.msEntierNon

Fréquence, en millisecondes, à laquelle les offsets du consommateur sont validés automatiquement dans Kafka si enable.auto.commit est défini à "true". Pris en compte si enable.auto.commit vaut "true". Valeur par défaut : 5000 (5 secondes).

check.crcsBooléenNon

Vérifie automatiquement le CRC32 des messages consommés. Valeur par défaut : "true".

client.idAlphanumériqueNon

Chaîne d'identifiant à transmettre au serveur lors des requêtes.

client.rackAlphanumériqueNon

Identifiant de rack pour ce client. Il peut s'agir de n'importe quelle valeur de chaîne indiquant l'emplacement physique de ce client. Il correspond à la configuration du courtier "broker.rack".

fetch.max.wait.msEntierNon

Durée maximale (en millisecondes) pendant laquelle le serveur bloquera avant de répondre à la demande de fetch s'il n'y a pas suffisamment de données pour satisfaire immédiatement l'exigence donnée par "fetch.min.bytes". Valeur par défaut : 500.

interceptor.classesListe d'alphanumériquesNon

Liste de classes à utiliser comme intercepteurs. L'implémentation de l'interface org.apache.kafka.clients.consumer.ConsumerInterceptor vous permet d'intercepter (et éventuellement de muter) les enregistrements reçus par le consommateur.

metadata.max.age.msEntierNon

Période de temps en millisecondes après laquelle nous forçons une actualisation des métadonnées, même si nous n'avons vu aucun changement de direction de partition pour découvrir de manière proactive de nouveaux courtiers ou partitions. Valeur par défaut : 300000 (5 minutes).

metric.reportersListe d'alphanumériquesNon

Liste de classes à utiliser comme rapporteurs de métriques.

metrics.num.samplesEntierNon

Nombre d'échantillons conservés pour calculer les métriques. Valeur par défaut : 2.

metrics.recording.levelAlphanumérique. Valeurs possibles : "INFO", "DEBUG" ou "TRACE"Non

Niveau d'enregistrement le plus élevé pour les métriques. Valeur par défaut : "INFO".

metrics.sample.window.msEntierNon

Fenêtre de temps pendant laquelle un échantillon de métriques est calculé. Valeur par défaut : 30000 (30 secondes).

reconnect.backoff.max.msEntierNon

Durée maximale d'attente en millisecondes lors de la reconnexion à un courtier qui a échoué à plusieurs reprises à se connecter. Valeur par défaut : 1000 (1 seconde).

reconnect.backoff.msEntierNon

Temps d'attente de base avant de tenter de se reconnecter à un hôte donné. Valeur par défaut : 50.

retry.backoff.msEntierNon

Temps d'attente avant de tenter de réessayer une demande ayant échoué à une partition de rubrique donnée. Valeur par défaut : 100.

security.providersListe d'alphanumériquesNon

Liste de classes de créateurs configurables renvoyant chacune un fournisseur implémentant des algorithmes de sécurité.

schema.registry.urlAlphanumériqueNon

URL de l'instance Schema Registry.

specific.avro.readerBooléenNon

Indique à Kafka / Schema Registry d'utiliser un type Avro spécifique (type d'utilisateur dans ce cas, issu de la génération Avro d'une classe Adélia), sinon Kafka s'attendra à ce que GenericRecord soit utilisé pour le topic. Valeur par défaut : "false".

Hardis - Haut de page

↑ Haut de page

Développer
titlePropriétés de la configuration de souscription config/brokerConfig/subscribeTopic

Kafka

Propriétés de la configuration de souscription config/brokerConfig/subscribeTopic

Détails dans la documentation Apache Paho MQTTv3

NomTypeObligatoireDescription
patternAlphanumériqueNon

Pattern de topics à souscrire. Pris en compte si les propriétés "topics" et "partitions" sont non renseignées.

topicsListe d'alphanumériques non videNonListe de topics à souscrire. Pris en compte si les propriétés "pattern" et "partitions" sont non renseignées.

partitions

Liste d'objets topicPartitionNon

Liste sur les informations des topics et partitions à souscrire. Pris en compte si les propriétés "pattern" et "topics" sont non renseignées.

       [n]

ObjetOuiTopic et partition à souscrire.
              topicAlphanumérique non videOuiNom du topic (d'index n) dans la liste sur les informations des topics et partition à souscrire.
              partitionEntier positifOuiNuméro de la partition associée au topic (d'index n) dans la liste sur les informations des topics et partition à souscrire.
ackModeAlphanumérique. Valeurs possibles : "RECORD", "BATCH", "TIME", "COUNT", "COUNT_TIME", "MANUAL" ou "MANUAL_IMMEDIATE"Non

Indique le mode d'acquisition et d'acquittement de messages.

  • RECORD : acquitte automatiquement le message (commit l'offset du message) à la fin de son traitement,
  • BATCH : acquitte automatiquement les messages (commit les offset des messages) quand tous ceux qui ont été retournés par un appel à poll() ont été traités (traitement par lot),
  • TIME : acquitte automatiquement les messages (commit les offset des messages) quand tous ceux qui ont été retournés par un appel à poll() ont été traités (traitement par lot) et qu'une durée (définie par la propriété ackTime) à été dépassée à partir du dernier commit,
  • COUNT : acquitte automatiquement les messages (commit les offset des messages) quand tous ceux qui ont été retournés par un appel à poll() ont été traités (traitement par lot) et qu'un nombre de messages traités (défini par la propriété ackCount) à été dépassé à partir du dernier commit,
  • COUNT_TIME : semblable à TIME et COUNT, mais l'acquittement est effectué si l'une ou l'autre des conditions est vraie,
  • MANUAL : acquittement manuel du ou des messages par l'utilisateur (l'acquittement est asynchrone),
  • MANUAL_IMMEDIATE : acquittement manuel du ou des messages par l'utilisateur (l'acquittement est synchrone).

Valeur par défaut : BATCH.

ackTimeEntierNon

Durée en millisecondes après laquelle les messages en attente d'acquittement sont acquittés. Prise en compte si la propriété "ackMode" vaut "TIME" ou "COUNT_TIME". La valeur doit être supérieure à la valeur de la propriété "pollTimeout". Valeur par défaut : 5000.

ackCountEntierNon

Nombre minimal de messages en attente d'acquittement à partir duquel déclencher leur acquittement. Pris en compte si la propriété "ackMode" vaut "COUNT" ou "COUNT_TIME". Valeur par défaut : 1.

typeMsgHandlingAlphanumérique. Valeurs possibles : "BATCH" ou "SINGLE"NonMode d'acquisition des messages (par lot ou unitairement). Pris en compte si "ackMode" vaut "MANUAL" ou "MANUAL_IMMEDIATE".
pollTimeoutEntierNonTemps d'attente maximum (en millisecondes) pour l'acquisition des messages - valeur de timeout passée à l'appel à poll(). Valeur par défaut : 5000.
commitLogLevelAlphanumérique. Valeurs possibles : "DEBUG", "ERROR, "FATAL, "INFO, "TRACE ou "WARN"NonNiveau de log du traitement natif des commit d'offset. Valeur par défaut : "DEBUG".
missingTopicsFatalBooléenNon

Mode de démarrage du souscripteur natif si les topics à souscrire n'existent pas sur le courtier. Si "true", le souscripteur ne démarrera pas. Pris en compte seulement si "topics" ou "partitions" sont renseignées. Valeur par défaut : "false".

onlyLogRecordMetadataBooléenNonNiveau de log d'un message. Si "false", le message en entier est loggé dans les logs produits au lieu de juste logger <topic>-<partition>@<offset>. Valeur par défaut : "false".
stopImmediateBooléenNonQuand le souscripteur est arrêté, permet d'arrêter le traitement après le message courant (true) au lieu d'arrêter après avoir traité tous les messages retournés par le précédent appel à poll() (false). Valeur par défaut : "false".
Hardis - Haut de page

↑ Haut de page

Configuration MQTT v3

Développer
titlePropriétés de la configuration de connexion config/brokerConfig/brokerConnection

MQTT v3

Propriétés de la configuration de connexion config/brokerConfig/brokerConnection

Détails dans la documentation Apache Paho MQTTv3

NomTypeObligatoireDescription
automaticReconnectBooléenNon

Indique si le client tentera automatiquement de se reconnecter au serveur si la connexion est perdue. Valeur par défaut : "false".

reconnectCloseTimeoutEntier positifNonDélai d'attente de tentative de reconnexion réussie avant de fermer définitivement le souscripteur. Pris en compte si "automaticReconnect" vaut "true". Valeur par défaut : pas de délai d'attente.
cleanSessionBooléenNon

Indique si le client et le serveur doivent se souvenir de l'état du client lors des reconnexions. Valeur par défaut : "true". Si la valeur est "false", "subscribeTopic/clientId" doit est fixé.

connectionTimeoutEntier positifNon

Valeur du délai d'expiration de la connexion. Cette valeur, mesurée en secondes, définit l'intervalle de temps maximal pendant lequel le client attendra que la connexion réseau au serveur MQTT soit établie. Valeur par défaut : 30.

keepAliveIntervalEntier positifNon

Intervalle "keep alive". Cette valeur, mesurée en secondes, définit l'intervalle de temps maximal entre les messages envoyés ou reçus. Il permet au client de détecter si le serveur n'est plus disponible, sans avoir à attendre le timeout TCP/IP. Valeur par défaut : 60.

maxInflightEntier positifNon

Fixe le nombre maximal de messages que le courtier peut envoyer sans recevoir d'accusé de réception. Valeur par défaut : 10.

mqttVersionAlphanumérique. Valeurs possibles : "3.1.1" ou "3.1"NonFixe la version du protocole MQTT v3 à utiliser (3.1 ou 3.1.1). Valeur par défaut : 3.1.1.
serverURIsListe d'alphanumériquesNon

Liste d'un ou plusieurs URI de serveur MQTT auxquels le client peut se connecter. Valeur par défaut : [ 'tcp://localhost:1883' ]. Si le port n'est pas spécifié dans l'URI, il prendra la valeur 1883 pour 'tcp://' et 8883 pour 'ssl://

userNameAlphanumériqueNon

Nom d'utilisateur à utiliser pour la connexion. Celui-ci peut être saisi en clair ou crypté.

passwordAlphanumériqueNonMot de passe à utiliser pour la connexion. Celui-ci peut être saisi en clair ou crypté.

will

ObjetNon

Message "Last Will and Testament" (LWT) pour la connexion.

       topicAlphanumérique non videOuiTopic du LWT.
       payloadAlphanumériqueOuiCharge utile du message LWT.
       qosEntier 0 à 2NonNiveau de qualité de service de publication du message LWT. Valeur par défaut : 0.
       retainedBooléenNonIndique si le message LWT doit être conservé. Valeur par défaut : "false".

sslProperties

ObjetNonPropriétés de la connexion SSL (l'URL de connexion doit commencer par "ssl:" au lieu de "tcp:").
       com.ibm.ssl.protocolAlphanumérique. Valeurs possibles : "SSL", "SSLv2", "SSLv3', "SSL_TLS", "SSL_TLSv2", "TLS", "TLSv1", ou "TLSv1.2".NonType de protocole
       com.ibm.ssl.contextProviderAlphanumériqueNon

Fournisseur JSSE sous-jacent. Par exemple "IBMJSSE2" ou "SunJSSE".

       com.ibm.ssl.keyStoreAlphanumériqueNon

Nom du fichier contenant l'objet KeyStore que vous souhaitez que le KeyManager utilise. Par exemple : /monrep/etc/key.p12

       com.ibm.ssl.keyStorePasswordAlphanumériqueNon

Mot de passe de l'objet KeyStore que vous souhaitez que le KeyManager utilise. Celui-ci peut être saisi en clair ou crypté.

       com.ibm.ssl.keyStoreTypeAlphanumériqueNon

Type de magasin de clés, par exemple : "PKCS12", "JKS" ou "JCEKS".

       com.ibm.ssl.keyStoreProviderAlphanumériqueNon

Fournisseur de magasin de clés, par exemple : "IBMJCE" ou "IBMJCEFIPS".

       com.ibm.ssl.keyManagerAlphanumériqueNon

Algorithme qui sera utilisé pour instancier un objet KeyManagerFactory au lieu d'utiliser l'algorithme par défaut disponible dans la plateforme. Exemples de valeurs : "IbmX509" ou "IBMJ9X509"

       com.ibm.ssl.trustStoreAlphanumériqueNon

Nom du fichier contenant l'objet KeyStore que vous souhaitez que le TrustManager utilise.

       com.ibm.ssl.trustStorePasswordAlphanumériqueNon

Mot de passe de l'objet TrustStore que vous souhaitez que le TrustManager utiliseCelui-ci peut être saisi en clair ou crypté.

       com.ibm.ssl.trustStoreTypeAlphanumériqueNon

Type d'objet KeyStore que vous souhaitez que le TrustManager par défaut utilise. Mêmes valeurs possibles que "keyStoreType".

       com.ibm.ssl.trustStoreProviderAlphanumériqueNon

Fournisseur de magasin de confiance, par exemple : "IBMJCE" ou "IBMJCEFIPS".

       com.ibm.ssl.trustManagerAlphanumériqueNon

Algorithme qui sera utilisé pour instancier un objet TrustManagerFactory au lieu d'utiliser l'algorithme par défaut disponible dans la plateforme. Exemples de valeurs : "PKIX" ou "IBMJ9X509"

       com.ibm.ssl.enabledCipherSuitesAlphanumériqueNon

Liste des chiffrements activés. Les valeurs dépendent du fournisseur, par exemple : SSL_RSA_WITH_AES_128_CBC_SHA;SSL_RSA_WITH_3DES_EDE_CBC_SHA

       com.ibm.ssl.clientAuthenticationAlphanumériqueNonDétermine si l'authentification client SSL est requise. Valeur par défaut : "false".
Hardis - Haut de page

↑ Haut de page

Développer
titlePropriétés de la configuration de souscription config/brokerConfig/subscribeTopic

MQTT v3

Propriétés de la configuration de souscription config/brokerConfig/ subscribeTopic

Détails dans la documentation Apache Paho MQTTv3

NomTypeObligatoireDescription
clientIdAlphanumériqueNon

Identifiant du client. Si "brokerConnection/cleanSession" vaut "false", cette propriété doit être renseignée.

persistanceAlphanumérique. Valeurs possibles : "file" ou "memory"NonMécanisme de persistance des messages. Valeur par défaut : "file".
persistantFileDirectoryAlphanumériqueNon

Répertoire de stockage des messages. Pris en compte lorsque "persistance" vaut "file". Valeur par défaut : "user.dir" de la JVM Java.

manualAcksBooléenNon

Indique si l'acquittement de message est automatique ou manuel. Valeur par défaut : "false".

timeToWaitEntierNon

Temps d'attente maximal pour qu'une action avec le courtier se termine. Une valeur de 0 ou -1 indique "pas de temps d'attente maximal" (attendre la fin de l'action). Valeur par défaut : -1.

topics

Liste d'objets topicsOui

Liste sur les informations des topics à souscrire.

       [n]

ObjetOuiTopic à souscrire.
              topicFilterAlphanumérique non videOuiNom du topic (d'index n) dans la liste sur les informations des topics à souscrire.
              qosEntier 0 à 2NonNiveau de qualité de service de réception des messages du topic (d'index n) dans la liste sur les informations des topics à souscrire. Valeur par défaut : 1.
Hardis - Haut de page

↑ Haut de page

Configuration MQTT v5

Développer
titlePropriétés de la configuration de connexion config/brokerConfig/brokerConnection

MQTT v5

Propriétés de la configuration de connexion config/brokerConfig/brokerConnection

Détails dans la documentation Apache Paho MQTTv3

NonTypeObligatoireDescription
authDataAlphanumérique encodé en base 64NonDonnées d'authentification
authMethodAlphanumériqueNonMéthode d'authentification
automaticReconnectBooléenNon

Indique si le client tentera automatiquement de se reconnecter au serveur si la connexion est perdue. Valeur par défaut : "false".

automaticReconnectMinDelayEntierNon

Nombre minimum de secondes à attendre avant de tenter de se reconnecter automatiquement. Valeur par défaut : 1.

automaticReconnectMaxDelayEntierNonNombre maximum de secondes à attendre avant de tenter de se reconnecter automatiquement. Valeur par défaut : 120
reconnectCloseTimeoutEntier positifNonDélai d'attente de tentative de reconnexion réussie avant de fermer définitivement le souscripteur. Pris en compte si automaticReconnect vaut "true". Valeur par défaut : "pas de délai d'attente".
cleanStartBooléenNon

Indique si le client et le serveur doivent se souvenir de l'état de la session lors des redémarrages et des reconnexions. Valeur par défaut : "true".

connectionTimeoutEntier positifNon

Valeur du délai d'expiration de la connexion. Cette valeur, mesurée en secondes, définit l'intervalle de temps maximal pendant lequel le client attendra que la connexion réseau au serveur MQTT soit établie. Valeur par défaut : 30.

httpsHostnameVerificationEnabledBooléenNonActive la vérification de l'hôte lors d'une connexion HTTPS . Valeur par défaut : "true".
keepAliveIntervalEntier positifNon

Intervalle "keep alive". Cette valeur, mesurée en secondes, définit l'intervalle de temps maximal entre les messages envoyés ou reçus. Il permet au client de détecter si le serveur n'est plus disponible, sans avoir à attendre le timeout TCP/IP. Valeur par défaut : 60.

maximumPacketSizeEntier entre 1 et 2684354656Non

Taille maximale de paquet. Valeur par défaut : "pas de limite".

maxReconnectDelayEntierNon

Temps d'attente maximal (en millisecondes) entre les reconnexions. Valeur par défaut : 128000.

receiveMaximumEntier entre 1 et 65535Non

Nombre maximum de réceptions. Cette valeur représente la limite des publications QoS 1 et QoS 2 que le client est prêt à traiter simultanément.

Il n'y a pas de mécanisme pour limiter le nombre de publications en QoS 0 que le courtier peut envoyer. Valeur par défaut : 65535.

requestProblemInfoBooléenNon

Indicateur de demande d'informations sur les problèmes rencontrés dans le protocole de communication. Valeur par défaut : "true".

requestResponseInfoBooléenNon

Indicateur d'informations de réponse à la demande. Valeur par défaut : "false".

serverURIsListe d'alphanumériquesNon

Liste d'un ou plusieurs URI de serveur MQTT auxquels le client peut se connecter. Valeur par défaut : [ ' tcp://localhost:1883 ' ]. Si le port n'est pas spécifié dans l'URI, il prendra la valeur 1883 pour 'tcp://' et 8883 pour 'ssl://'.

sessionExpiryIntervalEntierNon

Intervalle d'expiration de la session. Cette valeur, mesurée en secondes, définit la durée maximale pendant laquelle le courtier maintiendra la session une fois que le client se déconnectera. Les clients ne doivent se connecter avec un long intervalle d'expiration de session que s'ils ont l'intention de se connecter au serveur ultérieurement. Valeur par défaut : jamais.

topicAliasMaximumEntier entre 0 et 65535Non

Maximum d'alias de sujet. Cette valeur, si elle est présente, représente la valeur la plus élevée que le client acceptera comme alias de sujet envoyé par le serveur. Valeur par défaut : 0.

userNameAlphanumériqueNon

Nom d'utilisateur à utiliser pour la connexion. Celui-ci peut être saisi en clair ou crypté.

passwordAlphanumériqueNonMot de passe à utiliser pour la connexion. Celui-ci peut être saisi en clair ou crypté.
userPropertiesListe de listes à deux éléments d'alphanumériquesNon

Propriétés de l'utilisateur. Une propriété utilisateur est une paire de chaînes UTF-8, le même nom peut apparaître plusieurs fois.

useSubscriptionIdentifiersBooléenNon

Indique s'il faut attribuer automatiquement des identifiants d'abonnement lors de l'abonnement à une rubrique. Valeur par défaut : "true".

will

ObjetNon

Message "Last Will and Testament" (LWT) pour la connexion.

       topicAlphanumérique non videOuiTopic du LWT.
       payloadAlphanumériqueOuiCharge utile du message LWT.
       qosEntier 0 à 2NonNiveau de qualité de service de publication du message LWT. Valeur par défaut : 0.
       retainedBooléenNonIndique si le message LWT doit être conservé. Valeur par défaut : "false".

sslProperties

ObjetNonPropriétés de la connexion SSL (l'URL de connexion doit commencer par "ssl:" au lieu de "tcp:").
       com.ibm.ssl.protocolAlphanumérique. Valeurs possibles : "SSL", "SSLv2", "SSLv3", "SSL_TLS", "SSL_TLSv2", "TLS", "TLSv1" ou "TLSv1.2"NonType de protocole
       com.ibm.ssl.contextProviderAlphanumériqueNon

Fournisseur JSSE sous-jacent. Par exemple : "IBMJSSE2" ou "SunJSSE".

       com.ibm.ssl.keyStoreAlphanumériqueNon

Nom du fichier contenant l'objet KeyStore que vous souhaitez que le KeyManager utilise. Par exemple : /monrep/etc/key.p12

       com.ibm.ssl.keyStorePasswordAlphanumériqueNon

Mot de passe de l'objet KeyStore que vous souhaitez que le KeyManager utiliseCelui-ci peut être saisi en clair ou crypté.

       com.ibm.ssl.keyStoreTypeAlphanumériqueNon

Type de magasin de clés, par exemple : "PKCS12", "JKS" ou "JCEKS".

       com.ibm.ssl.keyStoreProviderAlphanumériqueNon

Fournisseur de magasin de clés, par exemple : "IBMJCE" ou "IBMJCEFIPS".

       com.ibm.ssl.keyManagerAlphanumériqueNon

Algorithme qui sera utilisé pour instancier un objet KeyManagerFactory au lieu d'utiliser l'algorithme par défaut disponible dans la plateforme. Exemples de valeurs : "IbmX509" ou "IBMJ9X509".

       com.ibm.ssl.trustStoreAlphanumériqueNon

Nom du fichier contenant l'objet KeyStore que vous souhaitez que le TrustManager utilise.

       com.ibm.ssl.trustStorePasswordAlphanumériqueNon

Mot de passe de l'objet TrustStore que vous souhaitez que le TrustManager utiliseCelui-ci peut être saisi en clair ou crypté.

       com.ibm.ssl.trustStoreTypeAlphanumériqueNon

Type d'objet KeyStore que vous souhaitez que le TrustManager par défaut utilise. Mêmes valeurs possibles que "keyStoreType".

       com.ibm.ssl.trustStoreProviderAlphanumériqueNon

Fournisseur de magasin de confiance, par exemple : "IBMJCE" ou "IBMJCEFIPS".

       com.ibm.ssl.trustManagerAlphanumériqueNon

Algorithme qui sera utilisé pour instancier un objet TrustManagerFactory au lieu d'utiliser l'algorithme par défaut disponible dans la plateforme. Exemples de valeurs : "PKIX" ou "IBMJ9X509".

       com.ibm.ssl.enabledCipherSuitesAlphanumériqueNon

Liste des chiffrements activés. Les valeurs dépendent du fournisseur, par exemple : SSL_RSA_WITH_AES_128_CBC_SHA;SSL_RSA_WITH_3DES_EDE_CBC_SHA

       com.ibm.ssl.clientAuthenticationAlphanumériqueNonDétermine si l'authentification client SSL est requise. Valeur par défaut : "false".
Hardis - Haut de page

↑ Haut de page

Développer
titlePropriétés de la configuration de souscription config/brokerConfig/subscribeTopic

MQTT v5

Propriétés de la configuration de souscription config/brokerConfig/subscribeTopic

Détails dans la documentation Apache Paho MQTTv3

NomTypeObligatoireDescription
clientIdAlphanumériqueNon

Identifiant du client. Si "brokerConnection/cleanStart" vaut "false", cette propriété doit être renseignée.

persistanceAlphanumérique. Valeurs possibles : "file" ou "memory"NonMécanisme de persistance des messages. Valeur par défaut : "file".
persistantFileDirectoryAlphanumériqueNon

Répertoire de stockage des messages. Pris en compte lorsque "persistance" vaut "file". Valeur par défaut : "user.dir" de la JVM Java.

manualAcksBooléenNon

Indique si l'acquittement de message est automatique ou manuel. Valeur par défaut : "false".

timeToWaitEntierNon

Temps d'attente maximal pour qu'une action avec le courtier se termine. Une valeur de 0 ou -1 indique "pas de temps d'attente maximal" (attendre la fin de l'action). Valeur par défaut : -1.

topics

Liste d'objets topicOui

Liste sur les informations des topics à souscrire.

       [n]

ObjetOuiTopic à souscrire.
              topicFilterAlphanumérique non videOuiNom du topic (d'index n) dans la liste sur les informations des topics à souscrire.
              qosEntier 0 à 2NonNiveau de qualité de service de réception des messages du topic (d'index n) dans la liste sur les informations des topics à souscrire. Valeur par défaut : 1.
              retainAsPublishBooléenNonIndique si le courtier conserve le flag "retain" lors de l'envoi d'un message conservé au souscripteur. Valeur par défaut : "false".
              noLocalBooléenNon

Permet de ne pas recevoir les messages que le souscripteur a publié. Valeur par défaut : "false".

              retainHandlingEntier 0 à 2Non

Permet de spécifier si le serveur transmet le message retenu au client lors de l'établissement d'un abonnement. Valeur par défaut : 0.

Hardis - Haut de page

↑ Haut de page

Configuration Nats Jetstream

Développer
titlePropriétés de la configuration de connexion config/brokerConfig/brokerConnection

Nats JetStream

Propriétés de la configuration de connexion config/brokerConfig/brokerConnection

Détails dans la documentation Apache Paho MQTTv3

NomTypeObligatoireDescription

jetStreamCtx

ObjetNonContexte de connexion Jetstream.
       prefixAlphanumériqueNon

Préfixe pour les sujets JetStream. Valeur par défaut : $JS.API.

       requestTimeoutAlphanumérique au format de durée ISO-8601Non

Délai d'expiration de la demande pour les appels d'API JetStream. Valeur par défaut : "PT2S" (2 secondes).

natsCon

ObjetNonParamètres de la connexion Nats.
       bufferSizeEntierNon

Taille initiale des tampons (en octets) dans la connexion, principalement pour les tests. Valeur par défaut : 64 * 1024.

       connectionNameAlphanumériqueNonFixe le nom de la connexion.
       connectionTimeoutAlphanumérique au format de durée ISO-8601Non

Fixe le délai d'expiration des tentatives de connexion. Valeur par défaut : "PT2S" (2 secondes).

       dataPortTypeAlphanumériqueNon

Fixe la classe Java à utiliser pour ce port de données de connexion.

       discardMessagesWhenOutgoingQueueFullBooléenNon

Active les messages de suppression lorsque la file d'attente sortante est pleine. Valeur par défaut : "false".

       inboxPrefixAlphanumériqueNon

Préfixe de la boîte de réception de la connexion. Valeur par défaut : _INBOX.

       maxControlLineEntierNon

Longueur maximale (en octets) d'une ligne de contrôle envoyée par cette connexion. Valeur par défaut : 4096.

       maxMessagesInOutgoingQueueEntierNon

Nombre maximal de messages dans la file d'attente sortante. Valeur par défaut : 5000.

       maxPingsOutEntierNon

Nombre maximum de pings que le client peut avoir en vol. Valeur par défaut : 2.

       maxReconnectsEntierNonNombre maximal de tentatives de reconnexion. La valeur 0 désactive les reconnexions. La valeur -1 active les re connexions infinies. Valeur par défaut : 60.
       noEchoBooléenNon

Désactive l'écho. Valeur par défaut : "false".

       noHeadersBooléenNon

Désactive la prise en charge des en-têtes. Valeur par défaut : "false".

       noNoRespondersBooléenNon

Désactive l'assistance sans réponse. Valeur par défaut : "false".

       noRandomizeBooléenNon

Désactive la randomisation du pool de serveurs. Valeur par défaut : "false".

       oldRequestStyleBooléenNon

Active l'ancien style de demande qui utilise une nouvelle boîte de réception et un nouvel abonné pour chaque demande. Valeur par défaut : "false".

       opentlsBooléenNon

Contexte SSL sur un contexte qui accepte n'importe quel certificat de serveur et n'a aucun certificat client. Valeur par défaut : "false".

       pedanticBooléenNon

Active le mode pédant pour le serveur, par rapport à cette connexion. Valeur par défaut : "false".

       pingIntervalAlphanumérique au format de durée ISO-8601Non

Intervalle entre les tentatives de ping du serveur. Valeur par défaut : "PT2M" (2 minutes).

       reconnectBufferSizeEntierNon

Nombre maximal d'octets à mettre en mémoire tampon dans le client lors d'une tentative de reconnexion. Valeur par défaut : 8388608.

       reconnectJitterEntierNon

Délai d'attente entre les tentatives de reconnexion au même serveur. Valeur par défaut : "PT0.1S" (100 millisecondes).

       reconnectJitterTlsEntierNon

Délai d'attente d'une connexion tls/sécurisée entre les tentatives de reconnexion au même serveur. Valeur par défaut : "PT1S" (1 seconde).

       reconnectWaitEntierNon

Délai d'attente entre les tentatives de reconnexion au même serveur. Valeur par défaut : "PT2S" (2 secondes).

       requestCleanupIntervalAlphanumérique au format de durée ISO-8601Non

Intervalle entre les passes de nettoyage sur les contrats à terme de demandes en attente qui sont annulés ou qui ont expiré dans le code d'application. Valeur par défaut : "PT5S" (5 secondes).

       secureBooléenNon

Options pour utiliser le contexte SSL par défaut, s'il existe. Valeur par défaut : "false".

       serversListe d'alphanumériquesNonListe des URI des serveurs auxquels se connecter.
       traceConnectionBooléenNon

Active les messages de trace de connexion. Valeur par défaut : "false".

       turnOnAdvancedStatsBooléenNon

Active les statistiques avancées, principalement pour les tests/benchmarks. Valeur par défaut : "false".

       verboseBooléenNon

Active le mode détaillé avec le serveur. Valeur par défaut : "false".

       userInfo

ObjetNonInformations utilisateur.
              userNameAlphanumériqueNonNom d'utilisateur pour l'authentification basique. Celui-ci peut être saisi en clair ou crypté.
              passwordAlphanumériqueNonMot de passe pour l'authentification basique. Celui-ci peut être saisi en clair ou crypté.
Hardis - Haut de page

↑ Haut de page

Développer
title Propriétés de la configuration de souscription config/brokerConfig/subscribeTopic

Nats JetStream

Propriétés de la configuration de souscription config/brokerConfig/ subscribeTopic

Détails dans la documentation Apache Paho MQTTv3

NomTypeObligatoireDescription
subjectAlphanumériqueOuiNom du sujet à souscrire.
queueGroupNameAlphanumériqueNonNom de groupe de queue à rejoindre.
subscribeTypeALphanumérique. Valeurs possibles : "Push" ou "Pull"OuiType de souscription aux messages.

pushSubOpts

ObjetNonInformations de souscription de type "PUSH".
       deliverGroupAlphanumériqueNonGroupe de livraison.
       deliverSubjectAlphanumériqueNonSujet de livraison.
       durableAlphanumériqueNonNom de souscripteur durable.
       streamAlphanumériqueNonFlux auquel appartient le sujet à souscrire.
       bindBooléenNonLie le souscripteur durable au flux. Valeur par défaut : "false".
       pendingMessageLimitEntierNon

Limites sur le nombre maximal de messages que le consommateur conservera avant de commencer à supprimer de nouveaux messages en attendant que l'application vide la file d'attente. Valeur par défaut : 65536.

       pendingByteLimitEntierNonLimites sur la taille maximale des messages (en octets) que ce consommateur conservera avant de commencer à supprimer de nouveaux messages en attendant que l'application vide la file d'attente. Valeur par défaut : 67108864.
       pushMaxWaitEntierOuiDélai d'attente maximale pour la réception d'un message.

       consumerConfig

ObjetNonInformations de configuration du consommateur.
              ackPolicyAlphanumérique. Valeurs possibles : "All", "Explicit" ou "None"NonMode d'acquittement des messages. Valeur par défaut : "Explicit".
Si subscribeType vaut "Pull" alors la seule valeur possible est "Explicit".
              ackWaitAlphanumérique au format de durée ISO-8601Non

Durée d'attente de l'accusé de réception.

              deliverPolicyAlphanumérique. Valeurs possibles : "All", "ByStartSequence", "ByStartTime", "Last", "LastPerSubject" ou "New"Non

Stratégie de livraison des messages au consommateur. Valeur par défaut : "All".

              descriptionAlphanumériqueNonFixe une description à cette configuration.
              filterSubjectAlphanumériqueNon

Sujet du filtre.

              flowControlAlphanumérique au format de durée ISO-8601Non

Active le contrôle de flux. Valable seulement si subscribeType vaut "Push".

              idleHeartbeatAlphanumérique au format de durée ISO-8601Non

Temps d'attente des signaux de présence inactifs du consommateur. Valable seulement si subscribeType vaut "Push".

              maxAckPendingEntierNon

Maximum d'accusés de réception en attente. Valable seulement si subscribeType vaut "Push" et si ackPolicy est différent de "None". Valeur par défaut : -1.

              maxDeliverEntierNon

Nombre maximal de livraisons de messages. Valeur par défaut : -1.

              maxPullWaitingEntierNon

Attente d'extraction maximale : nombre d'extractions qui peuvent être en attente sur un consommateur en mode "PULL". Les extractions reçues après que ce nombre est atteint sont ignorées. Valeur par défaut : 0.

              rateLimitEntierNon

Limite de débit (nombre de messages par seconde). Valeur par défaut : -1.

              replayPolicyAlphanumérique. Valeurs possibles : "Instant" ou "Original"Non

Définit la stratégie de relecture des messages. Pris en compte seulement si deliverPolicy vaut "All", "ByStartSequence" ou "ByStartTime". Valeur par défaut : "Instant".

              sampleFrequencyAlphanumériqueNon

Fréquence d'échantillonnage en pourcentage. Par exemple : 30% ou 30 (la valeur doit être comprise entre 0 et 100).

              startSequenceEntierNon

Séquence de démarrage d'acquisition des messages dans le flux. Pris en compte si deliverPolicy vaut "ByStartSequence".

              startTimeAlphanumérique au format de durée ISO-8601Non

Heure de début d'acquisition des messages dans le flux. Pris en compte si deliverPolicy vaut "ByStartTime".

pullSubOpts

ObjetNonInformations de souscription de type "PULL".
       durableAlphanumériqueOuiNom de souscripteur durable.
       streamAlphanumériqueNonNom du flux auquel appartient le sujet à souscrire.
       bindBooléenNonLie le souscripteur durable au flux. Valeur par défaut : "false".
       pullTypeAlphanumérique. Valeurs possibles : "Fetch" ou "Iterate"OuiMode d'acquisition des messages en mode "PULL".
       pullBatchSizeEntier entre 1 et 256OuiNombre maximum de messages récupérés au sein d'un lot.
       pullMaxWaitAlphanumérique au format de durée ISO-8601OuiDélai d'attente maximale pour la réception des messages par lot.

       consumerConfig

ObjetNonInformations de configuration du consommateur.
              ackPolicyALphanumérique. Valeurs possibles : "All", "Explicit" ou "None"NonMode d'acquittement des messages. Valeur par défaut : "Explicit". Si subscribeType vaut "Pull", la seule valeur possible est "Explicit".
              ackWaitAlphanumérique au format de durée ISO-8601Non

Durée d'attente de l'accusé de réception.

              deliverPolicyAlphanumérique. Valeurs possibles : "All", "ByStartSequence", "ByStartTime", "Last", "LastPerSubject" ou "New"Non

Stratégie de livraison des messages au consommateur. Valeur par défaut : "All".

              descriptionAlphanumériqueNonFixe une description à cette configuration.
              filterSubjectAlphanumériqueNon

Sujet du filtre.

              flowControlAlphanumérique au format de durée ISO-8601Non

Active le contrôle de flux. Valable seulement si subscribeType vaut "Push".

              idleHeartbeatAlphanumérique au format de durée ISO-8601Non

Temps d'attente des signaux de présence inactifs du consommateur. Valable seulement si subscribeType vaut "Push".

              maxAckPendingEntierNon

Maximum d'accusés de réception en attente. Valable seulement si subscribeType vaut "Push" et si ackPolicy est différent de "None". Valeur par défaut : -1.

              maxDeliverEntierNon

Nombre maximal de livraisons de messages. Valeur par défaut : -1.

              maxPullWaitingEntierNon

Attente d'extraction maximale : nombre d'extractions qui peuvent être en attente sur un consommateur en mode "PULL". Les extractions reçues après que ce nombre est atteint sont ignorées. Valeur par défaut : 0.

              rateLimitEntierNon

Limite de débit (nombre de messages par seconde). Valeur par défaut : -1.

              replayPolicyAlphanumérique. Valeurs possibles : "Instant" ou "Original"Non

Stratégie de relecture des messages. Pris en compte seulement si deliverPolicy vaut "All", "ByStartSequence" ou "ByStartTime". Valeur par défaut : "Instant".

              sampleFrequencyAlphanumériqueNon

Fréquence d'échantillonnage en pourcentage. Par exemple : 30% ou 30 (la valeur doit être comprise entre 0 et 100).

              startSequenceEntierNon

Séquence de démarrage d'acquisition des messages dans le flux. Pris en compte si deliverPolicy vaut "ByStartSequence".

              startTimeAlphanumérique au format de durée ISO-8601Non

Heure de début d'acquisition des messages dans le flux. Pris en compte si deliverPolicy vaut "ByStartTime".

Hardis - Haut de page

↑ Haut de page

Configuration Nats Streaming

Développer
titlePropriétés de la configuration de connexion config/brokerConfig/brokerConnection

Nats Streaming

Propriétés de la configuration de connexion config/brokerConfig/brokerConnection

Détails dans la documentation Apache Paho MQTTv3

NomTypeObligatoireDescription

stanCon

ObjetNonContexte de connexion Nats Streaming.
       clusterIdAlphanumérique non videOuiIdentifiant du cluster de serveur.
       clientIdAlphanumériqueNonIdentifiant du client pour cette connexion.
       natsUrlAlphanumériqueNonURL de connexion au serveur. Valeur par défaut : nats://localhost:4222
       discoverPrefixAlphanumériqueNon

Préfixe de sujet pour la découverte de serveur par les clients. Valeur par défaut : "_STAN.discover".

       maxPingsOutEntierNonNombre maximum de pings que le client peut envoyer au serveur avant que celui-ci ne soit considéré comme perdu. Valeur par défaut : 3.
       pingIntervalAlphanumérique au format de durée ISO-8601Non

Intervalle entre les tentatives de ping du serveur. Valeur par défaut : "PT5S" (5 secondes).

       traceConnectionBooléenNonActive les messages de trace de connexion. Valeur par défaut : "false".

natsCon



Paramètres de la connexion Nats.
       bufferSizeEntierNon

Taille initiale des tampons (en octets) dans la connexion, principalement pour les tests. Valeur par défaut : 64 * 1024.

       connectionNameAlphanumériqueNonNom de la connexion.
       connectionTimeoutAlphanumérique au format de durée ISO-8601Non

Délai d'expiration des tentatives de connexion. Valeur par défaut : "PT2S" (2 secondes).

       dataPortTypeAlphanumériqueNon

Classe Java à utiliser pour ce port de données de connexion.

       discardMessagesWhenOutgoingQueueFullBooléenNon

Active les messages de suppression lorsque la file d'attente sortante est pleine. Valeur par défaut : "false".

       inboxPrefixAlphanumériqueNon

Préfixe de la boîte de réception de la connexion. Valeur par défaut : "_INBOX".

       maxControlLineEntierNon

Longueur maximale (en octets) d'une ligne de contrôle envoyée par cette connexion. Valeur par défaut : 4096.

       maxMessagesInOutgoingQueueEntierNon

Nombre maximal de messages dans la file d'attente sortante. Valeur par défaut : 5000.

       maxPingsOutEntierNon

Nombre maximum de pings que le client peut avoir en vol. Valeur par défaut : 2.

       maxReconnectsEntierNon

Nombre maximal de tentatives de reconnexion. La valeur 0 désactive les reconnexions. La valeur -1 active les reconnexions infinies. Valeur par défaut : 60.

       noEchoBooléenNon

Désactive l'écho. Valeur par défaut : "false".

       noHeadersBooléenNon

Désactive la prise en charge des en-têtes. Valeur par défaut : "false".

       noNoRespondersBooléenNon

Désactive l'assistance sans réponse. Valeur par défaut : "false".

       noRandomizeBooléenNon

Désactive la randomisation du pool de serveurs. Valeur par défaut : "false".

       oldRequestStyleBooléenNon

Active l'ancien style de demande qui utilise une nouvelle boîte de réception et un nouvel abonné pour chaque demande. Valeur par défaut : "false".

       opentlsBooléenNon

Contexte SSL sur un contexte qui accepte n'importe quel certificat de serveur et n'a aucun certificat client. Valeur par défaut : "false".

       pedanticBooléenNon

Active le mode pédant pour le serveur, par rapport à cette connexion. Valeur par défaut : "false".

       pingIntervalAlphanumérique au format de durée ISO-8601Non

Intervalle entre les tentatives de ping du serveur. Valeur par défaut : "PT2M" (2 minutes).

       reconnectBufferSizeEntierNon

Nombre maximal d'octets à mettre en mémoire tampon dans le client lors d'une tentative de reconnexion. Valeur par défaut : 8388608.

       reconnectJitterEntierNon

Délai d'attente entre les tentatives de reconnexion au même serveur. Valeur par défaut : "PT0.1S" (100 millisecondes).

       reconnectJitterTlsEntierNon

Délai d'attente d'une connexion tls/sécurisée entre les tentatives de reconnexion au même serveur. Valeur par défaut : "PT1S" (1 seconde).

       reconnectWaitEntierNon

Délai d'attente entre les tentatives de reconnexion au même serveur. Valeur par défaut : "PT2S" (2 secondes).

       requestCleanupIntervalAlphanumérique au format de durée ISO-8601Non

Intervalle entre les passes de nettoyage sur les contrats à terme de demandes en attente qui sont annulés ou qui ont expiré dans le code d'application. Valeur par défaut : "PT5S" (5 secondes).

       secureBooléenNon

Options pour utiliser le contexte SSL par défaut, s'il existe. Valeur par défaut : "false".

       serversListe d'alphanumériquesNonListe des URI des serveurs auxquels se connecter.
       traceConnectionBooléenNon

Active les messages de trace de connexion. Valeur par défaut : "false".

       turnOnAdvancedStatsBooléenNon

Active les statistiques avancées, principalement pour les tests/benchmarks. Valeur par défaut : "false".

       verboseBooléenNon

Active le mode détaillé avec le serveur. Valeur par défaut : "false".

       userInfo

ObjetNonInformations utilisateur.
              userNameAlphanumériqueNonNom d'utilisateur pour l'authentification basique. Celui-ci peut être saisi en clair ou crypté.
              passwordAlphanumériqueNonMot de passe pour l'authentification basique. Celui-ci peut être saisi en clair ou crypté.
Hardis - Haut de page

↑ Haut de page

Développer
titlePropriétés de la configuration de souscription config/brokerConfig/subscribeTopic

Nats Streaming

Propriétés de la configuration de souscription config/brokerConfig/subscribeTopic

Détails dans la documentation Apache Paho MQTTv3

NomTypeObligatoireDescription
channelNameAlphanumériqueOuiNom du canal à souscrire.
queueGroupNameAlphanumériqueNonNom de groupe de queue à rejoindre.
ackWaitAlphanumérique au format de durée ISO-8601Non

Durée pendant laquelle l'abonnement attendra les ACK du cluster. Valeur par défaut : "PT30S" (30 secondes).

deliverAllAvailableBooléenNon

Spécifie que la remise des messages doit commencer au plus ancien message disponible pour ce sujet. Par défaut, la souscription est configurée pour recevoir les nouveaux messages uniquement.

dispatcherAlphanumériqueNon

Spécifie un répartiteur pour cet abonnement.

durableNameAlphanumériqueNon

Nom d'abonné durable pour l'abonnement.

manualAcksBooléenNon

Mode d'acquittement des messages reçus. Valeur par défaut : "false".

maxInFlightEntierNon

Nombre maximal de messages en cours (sans accusé de réception) pour l'abonnement. Valeur par défaut : 1024.

startAtSequenceEntierNon

Spécifie le numéro de séquence à partir duquel commencer à recevoir des messages. Par défaut, la souscription est configurée pour recevoir les nouveaux messages uniquement .

startAtTimeAlphanumérique au format de date-heure ISO-8601NonSpécifie l'horodatage à partir duquel commencer à recevoir des messages. Par défaut, la souscription est configurée pour recevoir les nouveaux messages uniquement.
startAtTimeDeltaAlphanumérique au format de durée ISO-8601NonSpécifie une durée dans le temps (à partir de l'instant présent) à partir duquel commencer à recevoir des messages. Par défaut, la souscription est configurée pour recevoir les nouveaux messages uniquement .
startWithLastReceivedBooléenNon

Spécifie que la remise des messages doit commencer par le dernier message (le plus récent) stocké pour ce sujet. Par défaut, la souscription est configurée pour recevoir les nouveaux messages uniquement . Valeur par défaut : "false".

subscriptionTimeoutAlphanumérique au format de durée ISO-8601Non

Durée d'attente de l'abonnement lors de sa création en cas de panne du réseau. Valeur par défaut : "PT2S" (2 secondes).

Hardis - Haut de page

↑ Haut de page

Configuration RabbitMQ AMQP

Développer
titlePropriétés de la configuration de connexion config/brokerConfig/brokerConnection

RabbitMQ AMQP

Propriétés de la configuration de connexion config/brokerConfig/brokerConnection

Détails dans la documentation Lettuce Redis Client

NomTypeObligatoireDescription
usernameAlphanumériqueNon

Nom d'utilisateur à utiliser pour la connexion au serveur. Celui-ci peut être saisi en clair ou crypté. Valeur par défaut : "guest".

passwordAlphanumériqueNonMot de passe à utiliser pour la connexion au serveur. Celui-ci peut être saisi en clair ou crypté. Valeur par défaut : "guest".
virtualHostAlphanumériqueNonNom d'hôte virtuel auquel se connecter. Valeur par défaut : /
hostAlphanumériqueNonNom d'hôte auquel se connecter. Valeur par défaut : "localhost".
portEntier entre 1 et 65535NonNuméro de port TCP utilisé pour la connexion au serveur. Valeur par défaut : 5672 et 5671 pour SSL.
handshakeTimeoutEntierNon

Délai d'expiration (en millisecondes) de l'établissement de la connexion. Valeur par défaut : 10000 (10 secondes).

shutdownTimeoutEntierNon

Délai d'attente maximal (en millisecondes) pour l'arrêt du client. Valeur par défaut : 10000 (10 secondes).

clientPropertiesObjetNonTable de hachage des propriétés du client.
topologyRecoveryEnabledBooléenNon

Active la récupération de la topologie (queues, exchange, binding, etc.) lors d'une perte de connexion au serveur. Valeur par défaut : "true".

saslAuthMethodAlphanumérique. Valeurs possibles : "plain" ou "external"NonMéthode d'authentification SASL. Valeur par défaut : "plain".
useSslBooléenNonActive le protocole TLS avec les paramètres par défaut pour la connexion au serveur. Valeur par défaut : "false".
useNioBooléenNonUtilise des E/S non bloquantes (NIO) pour communiquer avec le serveur. Valeur par défaut : "false".

ssl

ObjetNonParamètres de connexion SSL/TLS.
       hostnameVerificationBooléenNonActive la vérification du nom d'hôte. Valeur par défaut : "false".
       peerVerificationBooléenNonActive la vérification des pairs. Valeur par défaut : "false".

connection

ObjetNonParamètres de la connexion TCP.
       channelMaxEntier positifNon

Numéro de canal maximal demandé. Valeur par défaut : 2047.

       frameMaxEntier positifNon

Taille de trame maximale demandée (en octets). Valeur par défaut : 0 (pas de limite).

       heartbeatEntier positifNonSpécifie l'intervalle en secondes entre les vérifications des pulsations entre client et serveur. Valeur 0 pour aucun. Valeur par défaut : 60.
       timeoutEntier positifNon

Délai d'expiration de la connexion TCP (en millisecondes). Valeur par défaut : 60000 (60 secondes).

       recoveryEnabledBooléenNon

Active la récupération automatique de la connexion. Valeur par défaut : "true".

       recoveryIntervalEntier positifNon

Intervalle de récupération de la connexion (en millisecondes). Valeur par défaut 5000.

channel

ObjetNonParamètres des canaux utilisés dans la connexion au serveur.
       rpcTimeoutEntier positifNon

Délai de continuation (en millisecondes) pour les appels RPC dans les canaux. Valeur de 0 pour "pas de délai". Valeur par défaut : 10 minutes.

       shouldCheckRpcResponseTypeBooléenNon

Active la vérification du type de réponse des appels RPC. Valeur par défaut : "false".

nio

ObjetNonParamètres de NIO. Pris en compte is useNio vaut "true".
       readByteBufferSizeEntierNon

Taille en octets du ByteBuffer de lecture utilisé dans la boucle NIO. Valeur par défaut : 32768.

       writeByteBufferSizeEntierNon

Taille en octets du ByteBuffer d'écriture utilisé dans la boucle NIO. Valeur par défaut : 32768.

       nbIoThreadsEntierNon

Nombre maximum de threads/tâches utilisés pour NIO. Valeur par défaut : 1.

       writeEnqueuingTimeoutInMsEntierNon

Délai d'attente pour la mise en file d'attente des trames sortantes (en millisecondes). Valeur par défaut : 10000.

       writeQueueCapacityEntierNon

Capacité de la file d'attente utilisée pour les trames sortantes. Valeur par défaut : 10000.

Hardis - Haut de page

↑ Haut de page

Développer
titlePropriétés de la configuration de souscription config/brokerConfig/subscribeTopic

RabbitMQ AMQP

Propriétés de la configuration de souscription config/brokerConfig/subscribeTopic

Détails dans la documentation Lettuce Redis Client

NomTypeObligatoireDescription
consumerTagAlphanumériqueNon

Identifiant du souscripteur. Si non renseigné, l'identifiant est fixé par le souscripteur natif.

consumerPrefetchCountEntier entre 0 et 65535Non

Nombre maximum de messages que le serveur délivrera. Valeur par défaut : 0 (illimité).

autoAckBooléenNonActive l'acquittement automatique des messages. Valeur par défaut : "false".
exclusiveConsumerBooléenNonDéfinit le souscripteur comme étant le consommateur exclusif de la queue associée. Valeur par défaut : "false".

consumerArgs

ObjetNonPropriétés du consommateur.
       xPriorityEntierNonPriorité du consommateur au sein d'un groupe. Valeur par défaut : 0.

queue

ObjetOuiPropriétés de la queue associée au consommateur.
       nameAlphanumérique non videOuiNom de la queue.
       declarePassiveBooléenNonUtilise une queue existante dans la topologie (valeur "true") ou crée une nouvelle queue (valeur "false"). Valeur par défaut : "false".
       durableBooléenNonPersistance de la queue. Valeur par défaut : "false".
       autoDeleteBooléenNon
Durée de vie de la queue. Une queue autoDelete est automatiquement supprimée lorsque le dernier consommateur abonné à cette queue se désabonne. Valeur par défaut : "true".
       exclusiveBooléenNonDéfinit l'exclusivité de la queue. Une queue exclusive est utilisée par une seule connexion et cette queue sera supprimée à la fermeture de cette connexion. Valeur par défaut : "true".

       queueArgs

ObjetNonInformations complémentaires sur le comportement de la queue.
              xMessageTtlEntierNonDurée de vie des messages dans la queue (en millisecondes). Valeur par défaut : "illimité".
              xExpiresEntierNonDurée maximale d'inactivité (pas de souscripteur associé) de la queue avant suppression (en millisecondes). Valeur par défaut : "illimité".
              xMaxLengthEntierNonNombre maximal de messages contenus dans la queue (les messages les plus anciens seront supprimés de la queue si la limite est atteinte). Valeur par défaut : "illimité".
              xMaxLengthBytesEntierNonNombre maximal d'octets contenus dans la queue (les messages les plus anciens seront supprimés de la queue si la limite est atteinte). Valeur par défaut : "illimité".
              xOverflowAlphanumérique. Valeurs possibles : "drop-head", "reject-publish" ou "reject-publish-dlx"NonComportement d'une queue pleine lorsqu'elle reçoit un nouveau message. Valeur par défaut : "drop-head".
              xDeadLetterExchangeAlphanumériqueNon

Nom du routeur (exchange) vers lequel republier les messages d'une file d'attente "en lettres mortes" (les messages reçus par la queue dans des conditions particulières).

              xDeadLetterRoutingKeyAlphanumériqueNonClé de routage à utiliser dans le cas des messages "en lettres mortes".
              xMaxPriorityEntier entre 1 et 255NonNiveau de priorité maximal que la queue supporte dans la gestion des priorités des messages. Valeur par défaut : "aucun" (pas de gestion de priorité des messages).
              xQueueModeAlphanumérique. Valeurs possibles : "default" ou "lazy"NonMode de sauvegarde des messages dans la queue. Valeur par défaut : "default".
              xQueueMasterLocatorAlphanumérique. Valeurs possibles : "min-masters", "client-local" ou "random"NonEmplacement de la queue maître dans un environnement serveur distribué.

       bind

Liste d'objets BindNonListe des informations de liaison de la queue à un routeur.

            [n]

ObjetOuiInformations de liaison de la queue à un routeur.
                  routingKeyAlphanumériqueNonClé de routage utilisée pour lier le routeur à la queue.
                  bindArgsObjetNonTable de hachage des propriétés de liaison entre le routeur et la queue (couples de <clé alphanumérique, valeur> utilisés comme paramètres lors de la liaison). Exemple de clé "x-match" (pour routeur de type "Headers").

                  exchange

ObjetNonInformation sur le routeur lié à la queue.
                            nameAlphanumériqueOuiNom du routeur lié à la queue.
                            typeAlphanumérique. Valeurs possibles : "direct", "fanout", "headers" ou "topic"OuiType de routeur lié à la queue.
                            durableBooléenNonPersistance du routeur. Valeur par défaut : "false".
                            autoDeleteBooléenNonDurée de vie du routeur. Valeur par défaut : "false".
                            declarePassiveBooléenNonUtilise un routeur existant dans la topologie ou crée un nouveau routeur. Valeur par défaut : "false".

                            exchangeArgs

ObjetNonInformations complémentaires sur le comportement du routeur
                                   alternateExchangeAlphanumériqueNonNom d'un routeur alternatif utilisé lorsque le routeur n'est pas capable de router un message.
Hardis - Haut de page

↑ Haut de page

Configuration Redis Pub/Sub

Développer
titlePropriétés de la configuration de connexion config/brokerConfig/brokerConnection

Redis Pub/Sub

Propriétés de la configuration de connexion config/brokerConfig/brokerConnection

Détails dans la documentation Lettuce Redis Client

NomTypeObligatoireDescription
redisTypeAlphanumérique. Valeurs possibles : "standalone" ou "cluster"Non

Type de serveur Redis à utiliser. Value par défaut : "standalone".

redisURIAlphanumériqueNonURI du serveur Redis utilisé pour la connexion.
clientNameAlphanumériqueNonNom du client.

redisURIObj

ObjetNonInformations de connexion utilisée pour la connexion à un serveur Redis. Pris en compte si "redisURI" n'est pas renseigné.
       usernameAlphanumériqueNonNom d'utilisateur utilisé pour la connexion. Celui-ci peut être saisi en clair ou crypté.
       passwordAlphanumériqueNonMot de passe utilisé pour la connexion. Celui-ci peut être saisi en clair ou crypté.
       databaseEntier positifNonBase de données à laquelle se connecter sur le serveur Redis. Pris en compte si redisType vaut "standalone". Valeur par défaut : 0.
       sslBooléenNonUtilise une connexion SSL. Valeur par défaut : "false".
       startTlsBooléenNonActive StartTLS avec la connexion SSL. Valeur par défaut : "false".
       timeoutAlphanumérique au format de durée ISO-8601NonTemps d'attente maximum pour l'établissement de la connexion. Valeur par défaut : "PT60S".
       sslVerifyPeerBooléenNon

Active la vérification par les pairs. Valeur par défaut : "false".

       sslVerifyPeerModeAlphanumérique. Valeurs possibles : "CA", "FULL" ou "NONE"NonMode de vérification par les pairs. Pris en compte si sslVerifyPeer vaut true. Valeur par défaut : "FULL".
       hostAlphanumérique non videOuiNom d'hôte du serveur Redis.
       portEntier entre 1 et 65535NonNuméro de port TCP utilisé pour la connexion au serveur. Valeur par défaut : 6379.

clientOptions

ObjetNon

Options permettant le contrôle du comportement du client Redis.

       autoReconnectBooléenNon

Active la reconnexion automatique en cas de perte de connexion. Valeur par défaut : "true".

       reconnectCloseTimeoutEntier positifNonDélai d'attente de tentative de reconnexion réussie avant de fermer définitivement le souscripteur. Pris en compte si autoReconnect vaut "true". Valeur par défaut : "pas de délai d'attente".
       protocolVersionAlphanumérique. Valeurs possibles : "RESP2" ou "RESP3"NonVersion du protocole à utiliser pour la connexion. Valeur par défaut : "RESP3".
       commandsTimeoutAlphanumérique au format de durée ISO-8601NonDélai d'attente maximal à une réponse de commande au serveur. Valeur par défaut : "pas de délai d'attente".
       pingBeforeActivateConnectionBooléenNon

Définit l'envoi d'un PING avant d'activer la connexion. Pris en compte si protocolVersion vaut "RESP2". Valeur par défaut : "true".

Hardis - Haut de page

↑ Haut de page

Développer
title Propriétés de la configuration de souscription config/brokerConfig/subscribeTopic

Redis Pub/Sub

Propriétés de la configuration de souscription config/brokerConfig/subscribeTopic

Détails dans la documentation Lettuce Redis Client

NomTypeObligatoireDescription

redisCodec

Ancre
rediscodec_subscribetopic_redis
rediscodec_subscribetopic_redis

Alphanumérique. Valeurs possibles : "byteArray", "utf8String", "asciiString" ou "string(<encoding>)"Non

Type de la charge utile des messages, ainsi que des channels/patterns à souscrire.

Les valeurs "utf8String", "asciiString" et "string(<encoding>)" indiquent que la charge utile (et les channels/patterns) est alphanumérique.

  • La valeur "string(<encoding>)" permet de définir un encodage de caractères spécifiques. Cette valeur d'encodage doit faire partie du registre des jeux de caractères définis par l'IANA. De plus, il doit faire partie des jeux de caractères supportés par la JVM Java.
  • La valeur "byteArray" indique que la charge utile (et les channels/patterns) est un tableau d'octets. Dans ce cas, les valeurs associées aux propriétés channels/patterns (décrites plus bas) doivent être des chaînes alphanumériques encodées en Base 64 (tableau d'octets exprimé sous la forme alphanumérique).

Valeur par défaut : "utf8String".

channelsListe d'alphanumériques non videNon

Liste des channels auxquels souscrire.

patternsListe d'alphanumériques non videNonListe des pattern de channels auxquels souscrire.
Hardis - Haut de page

↑ Haut de page

Fichier subscribersConf.yml
Ancre
sub_adelia_subcribersConf.yml
sub_adelia_subcribersConf.yml

Ce fichier au format YAML (encodage UTF-8) permet de décrire statiquement l'ensemble des souscripteurs à démarrer au lancement de l'AMBSS. De plus, lors de la création de nouveaux souscripteurs via les API REST, il est possible de sauvegarder la configuration de ceux-ci dans le fichier subscribersConf.yml .

La structure de ce fichier est un objet ayant deux propriétés (ou sections) :

  • configurations : Liste des configurations factorisées
  • subscribers : Liste des souscripteurs
Bloc de code
languageyml
titlesubscribersConf.yml vide
configurations:
-

subscribers:
-
Bloc de code
languageyml
titlesubscribersConf.yml contenant le souscripteur Adélia RabbitMQ AMQP
configurations:
-

subscribers:
- id: processOrderMRK8
  startOnCreation: true
  config: 
    adeliaPgm: 
      javaPackage: my.company
      objectFileName: AMQP1
      parameters: 
      - 456
      - MR_K_8
    brokerConfig: 
      factory: 
        id: com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory
      
      brokerConnection: 
        password: guest
        username: guest
    
      subscribeTopic: 
        consumerTag: AMQP1_MRK8
        autoAck: false
        queue: 
          declarePassive: true
          name: order_event_queue
Hardis - Haut de page

↑ Haut de page

Factorisation de la configuration

Lors de l'écriture des souscripteurs, il peut arriver de devoir dupliquer des blocs d'informations identiques (par l'exemple l'objet brokerConnection dans le cas de souscripteurs connectés au même courtier ou l'objet subscribeTopic dans le cas de souscripteurs abonnés au même sujet).

Cette redondance descriptive d'information peut être évitée en plaçant ces éléments de configuration dans la section configurations du fichier subscribersConf.yml et en déclarant, dans la section subscribers, les souscripteurs qui ne contiendront plus les éléments de configuration redondants mais une référence à ceux-ci dans la section configurations.


Zone du sommaire
maxLevel4
locationtop
classminitoc


Ancre
sub_adelia_configurations_section
sub_adelia_configurations_section
Section configurations

Elle regroupe une liste d'objets de configuration : chaque objet est identifié par un identifiant unique et regroupe les propriétés de l'objet config d'un souscripteur :

NomTypeObligatoireDescription
idAlphanumériqueNonIdentifiant alphanumérique de l'objet configuration
adeliaPoolNameAlphanumériqueNonNom du pool nommé Adélia utilisé pour les connexions BD

adeliaPgm

ObjetNonInformations relatives au programme EADELIA associé

       objectFileName

AlphanumériqueOui

Nom du fichier objet issu de la génération L3G du programme EADELIA associé

       javaPackageAlphanumériqueNon

Nom du package Java défini pour la génération L3G du programme EADELIA associé

       parametersListe d'alphanumériquesNon

Liste des paramètres alphanumériques passés au programme EADELIA associé lors de son exécution

       customObjectMapperAlphanumériqueNonIdentifiant du Java Bean défini dans le fichier beans-context.xml, permettant de configurer les propriétés de transformation d'objet JSON en instance de classe Adélia

brokerConfig

ObjetNonInformations relatives au souscripteur natif

       factory

ObjetNonInformations relatives à la fabrique Java responsable de la création du souscripteur Adélia
              idAlphanumériqueOui

Nom complet de la classe Java fabrique

              parametersObjetNonTable de hachage (couples de <clé alphanumérique, valeur> utilisés comme paramètres lors de la création de la fabrique)
       brokerConnectionObjetNonConfiguration spécifique des paramètres de connexion du souscripteur natif au courtier ciblé
       subscribeTopicObjetNonConfiguration spécifique des paramètres d'abonnement du souscripteur natif au courtier ciblé


Ancre
sub_adelia_sample_configurations
sub_adelia_sample_configurations

Un objet configuration peut être incomplet et ne pas renseigner toutes les propriétés adeliaPoolName, adeliaPgm et brokerConfig

Bloc de code
languageyml
titleExemple de configurations
configurations:
- id: fullConfig
  adeliaPgm: 
    javaPackage: my.company
    objectFileName: AMQP1
    parameters: 
    - 456
    - MR_K_8
  brokerConfig: 
    factory: 
      id: com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory
      
    brokerConnection: 
      password: guest
      username: guest
    
    subscribeTopic: 
      consumerPrefetchCount: 1000
      autoAck: false
      queue: 
        declarePassive: true
        name: order_event_queue
        
- id: partialConfigAdeliaPgm
  adeliaPgm: 
    javaPackage: my.company
    objectFileName: AMQP1
    parameters: 
    - 456
    - MR_K_8
  
- id: partialConfigBrokerConfig
  brokerConfig: 
    factory: 
      id: com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory
      
    brokerConnection: 
      password: guest
      username: guest
    
    subscribeTopic: 
      consumerPrefetchCount: 1000
      autoAck: false
      queue: 
        declarePassive: true
        name: order_event_queue
        
- id: partialConfigBrokerConnection
  brokerConfig: 
    factory: 
      id: com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory
      
    brokerConnection: 
      password: guest
      username: guest
    
subscribers:
-

Dans l'exemple, la section configurations est composée de trois objets de configuration : le premier (fullConfig) décrit une configuration complète alors que les trois autres (partialConfigAdeliaPgm, partialConfigBrokerConfig et partialConfigBrokerConnection) décrivent des configurations incomplètes.

Ancre
sub_adelia_subscribers_section
sub_adelia_subscribers_section

Section subscribers

Comme vu précédemment, cette section regroupe l'ensemble des descriptions de souscripteurs Adélia : chaque description de souscripteur doit être complète (chaque propriété décrite comme obligatoire doit être présente).

Cependant, il est possible de décrire un souscripteur en faisant référence, dans son objet config à un objet de configuration présent dans la section configurations. Dans ce cas, la description du souscripteur se déduit en remplaçant toutes les références utilisées par les objets référencés : la description résultat doit être complète pour être une description valide de souscripteur Adélia.

Syntaxe d'une référence

La syntaxe d'une référence à un objet de configuration déclaré dans la section configurations est la suivante :

'/configurations/<id de l'objet de configuration>'


Exemples :

'/configurations/fullConfig'

'/configurations/partialConfigAdeliaPgm'

'/configurations/partialConfigBrokerConfig'

Utilisation d'une référence

Dans la description d'un souscripteur, l'utilisation d'une ou plusieurs références se fait dans l'objet config.


Valeur de config

Lorsque l'objet config a pour valeur une référence, l'ensemble des propriétés de l'objet de configuration référencé (sauf la propriété "id") deviennent les propriétés de l'objet config

Bloc de code
languageyml
titleObjet config ayant une seule référence
configurations:
- id: fullConfig
  adeliaPgm: 
    javaPackage: my.company
    objectFileName: AMQP1
    parameters: 
    - 456
    - MR_K_8
  brokerConfig: 
    factory: 
      id: com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory
      
    brokerConnection: 
      password: guest
      username: guest
    
    subscribeTopic: 
      consumerPrefetchCount: 1000
      autoAck: false
      queue: 
        declarePassive: true
        name: order_event_queue        
        
subscribers:
- id: subUsingFullConfig
  startOnCreation: true
  config: '/configurations/fullConfig'


Pour utiliser plusieurs références, il faut les placer dans une liste. Dans ce cas, l'objet config est le résultat de la fusion des ensembles des propriétés des objets de configuration référencés (sauf les propriété "id") en commençant par la référence d'index 1 dans la liste, jusqu'à n.

Dans le cas ou les objets de configuration référencés décrivent les mêmes propriétés, les valeurs des propriétés issues de la référence d'index n + 1 sont prioritaires par rapport à celles issues de la référence d'index n dans le processus de fusion.

Bloc de code
languageyml
titleObjet config ayant deux références
configurations:
- id: partialConfigAdeliaPgm
  adeliaPgm: 
    javaPackage: my.company
    objectFileName: AMQP1
    parameters: 
    - 456
    - MR_K_8
  
- id: partialConfigBrokerConfig
  brokerConfig: 
    factory: 
      id: com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory
      
    brokerConnection: 
      password: guest
      username: guest
    
    subscribeTopic: 
      consumerPrefetchCount: 1000
      autoAck: false
      queue: 
        declarePassive: true
        name: order_event_queue    
        
subscribers:
- id: subUsingTwoPartialConfig
  startOnCreation: true
  config:
  - '/configurations/partialConfigAdeliaPgm'
  - '/configurations/partialConfigBrokerConfig'

Ancre
sub_adelia_config_ref_attribute
sub_adelia_config_ref_attribute

Attribut '$ref' de config

Il est possible dans l'objet config d'utiliser des références et des propriétés issues de cet objet. Pour cela, la référence (ou la liste de références) est fixée via la propriété de nom "$ref". Lors du processus de fusion, les propriétés "directes" de l'objet config sont prioritaires par rapport aux propriétés des objets de configuration référencés.

Bloc de code
languageyml
titleObjet config avec propriété $ref
configurations:
- id: partialConfigAdeliaPgm
  adeliaPgm: 
    javaPackage: my.company
    objectFileName: AMQP1
    parameters: 
    - 456
    - MR_K_8
  
- id: partialConfigBrokerConnection
  brokerConfig: 
    factory: 
      id: com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory
      
    brokerConnection: 
      password: guest
      username: guest
    
subscribers:
- id: subUsingTwoPartialConfigAndComplete
  startOnCreation: true
  config:
    $ref:
    - '/configurations/partialConfigAdeliaPgm'
    - '/configurations/partialConfigBrokerConnection'
    brokerConfig: 
      subscribeTopic: 
        consumerPrefetchCount: 1000
        autoAck: false
        queue: 
          declarePassive: true
          name: order_event_queue    

Dans les exemples qui précèdent, tous les quatre souscripteurs décrits sont identiques :

Bloc de code
languageyml
titleSouscripteurs Adélia identiques
configurations:
- id: fullConfig
  adeliaPgm:
    javaPackage: my.company
    objectFileName: AMQP1
    parameters:
    - 456
    - MR_K_8

  brokerConfig:
    factory:
      id: com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory
       
    brokerConnection:
      password: guest
      username: guest
     
    subscribeTopic:
      consumerPrefetchCount: 1000
      autoAck: false
      queue:
        declarePassive: true
        name: order_event_queue
         
- id: partialConfigAdeliaPgm
  adeliaPgm:
    javaPackage: my.company
    objectFileName: AMQP1
    parameters:
    - 456
    - MR_K_8
   
- id: partialConfigBrokerConfig
  brokerConfig:
    factory:
      id: com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory
       
    brokerConnection:
      password: guest
      username: guest
     
    subscribeTopic:
      consumerPrefetchCount: 1000
      autoAck: false
      queue:
        declarePassive: true
        name: order_event_queue
         
- id: partialConfigBrokerConnection
  brokerConfig:
    factory:
      id: com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory
       
    brokerConnection:
      password: guest
      username: guest
     
subscribers:
- id: processOrderMRK8
  startOnCreation: true
  config:
    adeliaPgm:
      javaPackage: my.company
      objectFileName: AMQP1
      parameters:
      - 456
      - MR_K_8      
    brokerConfig:
      factory:
        id: com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory
       
      brokerConnection:
        password: guest
        username: guest
     
      subscribeTopic:
        consumerPrefetchCount: 1000
        autoAck: false
        queue:
          declarePassive: true
          name: order_event_queue
          
- id: subUsingFullConfig
  startOnCreation: true
  config: '/configurations/fullConfig'
  
- id: subUsingTwoPartialConfig
  startOnCreation: true
  config:
  - '/configurations/partialConfigAdeliaPgm'
  - '/configurations/partialConfigBrokerConfig'
  
- id: subUsingTwoPartialConfigAndComplete
  startOnCreation: true
  config:
    $ref:
    - '/configurations/partialConfigAdeliaPgm'
    - '/configurations/partialConfigBrokerConnection'
    brokerConfig:
      subscribeTopic:
        consumerPrefetchCount: 1000
        autoAck: false
        queue:
          declarePassive: true
          name: order_event_queue  
Hardis - Haut de page

↑ Haut de page

Chiffrement de propriétés
Ancre
cypher_props
cypher_props

Lors de la description d'un souscripteur il est possible de crypter certaines valeurs associées à des propriétés relatives à des données sensibles (comme les noms d'utilisateur ou les mots de passe). Le processus de chiffrement s'appuie sur un algorithme de chiffrement asymétrique RSA256 basé sur les clés contenus dans le keystore nommé RSJwtSecurity.key (qui sert également par défaut à chiffer/déchiffrer les tokens JWT utilisés pour l'authentification à l'AMBSS lorsque la sécurité est activée).

Pour indiquer qu'une valeur de propriété est chiffrée, il est nécessaire de préfixer celle-ci (qui est une valeur alphanumérique encodée en Base 64) par la chaîne "{RSA}".


Exemple :

Bloc de code
languageyml
titleExemple de souscripteur Adélia RabbitMQ AMQP en YAML
id: processOrderMRK8
startOnCreation: true
config:
  adeliaPgm:
    javaPackage: my.company
    objectFileName: AMQP1
    parameters:
      - 456
      - MR_K_8
  brokerConfig:
    factory:
      id: com.hardis.adelia.ambss.rabbitmq.amqp.RabbitmqAMQPSubscriberFactory

    brokerConnection:
      password: "{RSA}duccMNtKDresdT5V4pEp+Uqd/j7KTT8LmCHSTIrx4eHtO/SIGrmFUFAc/4qtUjCpFow/rXMp6AZmS0wNNbmjx2m8NdNqDXKWXjcfDpyUGQyK+5m+ibE9PC6xSUqxp7jJ5xRl/N2F8+lVZ6MtT0gshgMm65ShLj2nwZ2F+DkrIbMs3c5A44IdOFeRq3zrK4lYYzNL/US1N0nHGqm5rn/dmtn8BmJ3HBOAhbk3N+KU6ugOB1T/E3HJDuEEeO4/PNDL9W7nzdCwVm7RSpOEqqCKbq7JeqNo/H1RIQu+NSj/f7dl5fQ1HxEWGKo9KmKbGIan61hTtor9M/wUcDOIoUnMZQ=="
      username: guest

    subscribeTopic:
      consumerPrefetchCount: 1000
      autoAck: false
      queue:
        declarePassive: true
        name: order_event_queue



Remarque : Il est possible de paramétrer les chaînes alphanumérique de préfixe et de suffixe à ajouter aux valeurs chiffrées à l'aide des deux propriétés suivantes, définies dans les fichiers de configuration application.yml et application-dev.yml :

  • ambss.encryptor.property.prefix (valeur par défaut : "{RSA}"),
  • ambss.encryptor.property.suffix (valeur par défaut : aucune).


Le chiffrement d'une valeur alphanumérique se fait à l'aide de la commande suivante :

java -cp "%ADELIWS%javarun\*" com.hardis.jwtprovider.JwtKeyTool -encode -keyfile "<Path to AMBSS install dir>\extdConfig\RSJwtSecurity.key" "<valeur alphanumérique à chiffrer>"


Il est possible de changer la valeur du keystore RSJwtSecurity.key livré par défaut dans l'AMBSS à l'aide de la commande suivante :

java -cp "%ADELIWS%javarun\*" com.hardis.jwtprovider.JwtKeyTool -generate "<Path to AMBSS install dir>\extdConfig\RSJwtSecurity.key"


Attention : Si vous avez changé la valeur du keystore RSJwtSecurity.key et que vous utilisez le serveur d'authentification autonome %adeliws%/javarun/jwtProviderStandAlone/jwtProviderStandAlone.war avec le keystore par défaut (qui est le même fichier RSJwtSecurity.key ), alors vous devez copier le fichier du keystore nouvellement créé à l'emplacement défini dans le fichier META-INF\context.xml de l'application web jwtProviderStandAlone installée.


Hardis - Haut de page

↑ Haut de page

Etat d'un souscripteur

L'AMBSS ne propose pas de console de supervision des souscripteurs Adélia.

Cependant, il existe plusieurs canaux pour monitorer l'exécution des souscripteurs.

Via le courtier

Certains courtiers mettent à disposition des outils pour monitorer l'état des consommateurs.

Par exemple, RabbitMQ offre, via l'installation d'une extension (RabbitMQ Management plugin), une console Web de monitoring.

Via les log

L'analyse des logs produites par le runtime de l'AMBSS et les souscripteurs natifs permettent de connaître l'état des souscripteurs (définir les niveaux de log voulus dans le fichier application.yml).

Via le programme EADELIA

Lorsqu'une erreur est détectée par le souscripteur natif, celle-ci est envoyé au programme EADELIA qui en est informé. Suivant la nature de l'erreur, celle-ci peut provoquer l'arrêt du souscripteur.

Via les API REST

Parmi les API proposées, une permet de lire la description d'un souscripteur ainsi que son état (démarré, arrêté, en attente de message, en cours de traitement de message, en erreur).


Hardis - Haut de page

↑ Haut de page