Le wrapper NATS est une interface minimaliste permettant de connecter le gestionnaire multi-noeuds avec un serveur NATS. Le wrapper NATS est disponible pour toutes les versions d'Adélia Studio, et nécessite jnats version 2.10.0 ou supérieur.

Adélia 14.9.x et <

Pour les versions antérieures à la 14.10.0 le wrapper il est disponible sur le nexus :

<dependency>
    <groupId>com.hardis.adelia</groupId>
    <artifactId>adelia-nats</artifactId>
    <version>14.10.0</version>
</dependency>


Note : le projet référence un runtime Adélia 14.10 en dépendance, mais en scope provided. Les classes du wrapper NATS sont compatibles avec toutes les versions d'Adélia Cloud.

Vous pouvez également le déployer manuellement dans l'application cloud en copiant les fichiers suivants :

    • adelia-nats-14.10.0.jar
    • eddsa-0.3.0.jar

    • geronimo-jms_1.1_spec-1.1.1.jar

    • jnats-2.17.1.jar

Si JNATS (version 2.10 ou >) est déjà présent, vous pouvez déployer uniquement ces deux fichiers :

    • adelia-nats-nodemanager-1.0-SNAPSHOT.jar
    • geronimo-jms_1.1_spec-1.1.1.jar

Adélia 14.10.0

Avec Adélia 14.10.0 le wrapper NATS est inclus dans le runtime Adélia (artefact adelia-nats).

<dependency>
    <groupId>com.hardis.adelia</groupId>
    <artifactId>adelia-nats</artifactId>
    <version>${adelia.version}</version>
</dependency>


Configuration

Vous devez déclarer la ressource jndi permettant la connexion au serveur NATS dans le contexte de votre application web

<Resource
    auth="Container"
    factory="com.hardis.adelia.nats.jms.NatsReferenceFactory"
    name="jms/ConnectionFactory"
    type="com.hardis.adelia.nats.jms.NatsConnectionFactory"
    brokerURL="nats://localhost:4222" />


Et vous devez déclarer le startupModule dans la configuration Wagon :

<startupModule name="NodeMonitor" className="com.hardis.wagon.impl.startup.MultiNodeManagerStartupModule">
    <parameters>
        <item key="wagon.jndiName" value="java:comp/env/jms/ConnectionFactory" />
        <item key="wagon.cipher" value="false" />
        <item key="java.naming.factory.initial" value="com.hardis.adelia.nats.jms.NatsInitialContextFactory" />
     </parameters>
</startupModule>


Les paramètres pouvant apparaître dans la configuration de la ressource jndi sont les suivants :

ParamètreDescription
brokerURL

Liste d'URLs d'accès aux serveurs NATS, séparés par des ';'.

Valeur par défaut : nats://localhost:4222

clientID

ID du client NATS.

Valeur par défaut : UUID généré unique.

applicationID

ID de l'application wagon, à utiliser si vous voulez configurer sur le même cluster NATS plusieurs applications indépendantes.

Valeur par défaut : common

NKeyFile

Nom de fichier contenant la clé publique de l'utilisateur.

Non renseigné par défaut.

credentialsFile

Nom du fichier contenant les crédentiels NATS (jeton JWT + clé publique utilisateur).

Non renseigné par défaut.

pingInterval

Permet de configurer l'intervalle de ping pour maintenir la connexion (en secondes).

Non renseigné par défaut.

maxPingsOut

Nombre maximum de pings en attente.

Non renseigné par défaut.

A partir d'Adélia 14.10.1, il est possible d'intégrer ce wrapper NATS lorsqu'on utilise le gabarit pour la construction d'une application Adélia Cloud : Il faut pour cela renseigner la propriété natsNodeManagerSupport (valeur à Y) dans le fichier gradle.properties du projet Gradle.

  • Aucune étiquette