tJMSOutput - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Fonction

Le composant tJMSOutput crée une interface entre une application Java et un système Middleware orienté Message.

Objectif

Le tJMSOutput permet de mettre en place des interactions entre composants applicatifs dans un cadre faiblement couplé, asynchrone et fiable via un serveur JMS.

Si vous avez souscrit à l'une des solutions Big Data de Talend, ce composant est disponible dans les différents types de Jobs suivants :

Propriétés du tJMSOutput

Famille du composant

Internet

 

Basic settings

Module List

Sélectionnez dans cette liste la bibliothèque à utiliser.

 

Context Provider

Saisissez l'URL de contexte, par exemple com.tibco.tibjms.naming.TibjmsInitialContextFactory. Attention cependant, la syntaxe peut varier selon le serveur JMS utilisé

 

Server URL

Saisissez l'URL du serveur en respectant la syntaxe, par exemple tibjmsnaming://localhost:7222.

 

Connection Factory JDNI Name

Saisissez le nom JDNI.

 

Use Specified User Identity

Si vous devez vous identifier, cochez la case et saisissez votre nom d'utilisateur et votre mot de passe.

Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles, puis cliquez sur OK afin de sauvegarder les paramètres.

 

Message Type

Sélectionnez le type de message, Topic ou Queue.

 

To

Saisissez la cible du message, telle qu'attendue par le serveur.

 

Processing Mode

Sélectionnez le mode de traitement des messages :

Raw Message : message brut,

Message Content : contenu du message.

 

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs qui sont traités et passés au composant suivant.

Le schéma du composant tJMSInput est en lecture seule. Il est composé d'une colonne : Message.

Advanced settings

Delivery Mode

Sélectionnez un mode de réception dans la liste afin d'assurer la qualité des données lors de la réception :

Not Persistent : Ce mode autorise les pertes de données durant l'échange.

Persistent : Ce mode assure l'intégrité du message à la réception.

 

Properties

Cliquez sur le bouton [+] sous le tableau afin d'ajouter des lignes contenant le nom et le mot de passe de l'utilisateur requis à l'authentification.

 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du composant.

Global Variables

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

NB_LINE : nombre de lignes lues par un composant d'entrée ou passées à un composant de sortie. Cette variable est une variable After et retourne un entier.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant est généralement utilisé en tant que composant de sortie. Il requiert un composant d'entrée.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Limitation

Assurez-vous que le serveur JMS correspondant est lancé.

Du fait d'une incompatibilité de licence, un ou plusieurs Jar requis pour utiliser ce composant ne sont pas fournis. Vous pouvez installer les Jar manquants pour ce composant en cliquant sur le bouton Install dans l'onglet Component. Vous pouvez également trouver les Jar manquants et les ajouter dans l'onglet Modules de la perspective Integration de votre studio. Pour plus d'informations, consultez la page https://help.talend.com/display/KB/How+to+install+external+modules+in+the+Talend+products (en anglais) ou la section décrivant comment configurer le studio, dans le Guide d'installation Talend.

Scénario : Mettre un message dans une file d'attente du serveur ActiveMQ et le retirer de cette file

Dans ce scénario, le composant JMSOutput envoie un message dans une file du serveur ActiveMQ, qui est ensuite récupéré par le JMSInput. Ce message est affiché dans la console, via le tLogRow.

Relier les composants

  1. De la Palette, déposez un tFixedFlowInput, un JMSOutput, un JMSInput et un tLogRow dans l'espace de modélisation graphique.

  2. Reliez le tFixedFlowInput au JMSOutput à l'aide d'un lien Row > Main.

  3. Reliez le tFixedFlowInput au JMSInput à l'aide d'un lien OnSubjobOk.

  4. Connectez le JMSInput au tLogRow à l'aide d'un lien Row > Main.

Configurer les composants

  1. Double-cliquez sur le tFixedFlowInput pour ouvrir sa vue Basic settings.

    Sélectionnez Use Inline Content (delimited file) dans la zone Mode.

    Dans le champ Content, saisissez le contenu du message à envoyer au serveur ActiveMQ :

    message transferred
  2. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur de schéma.

  3. Cliquez sur le bouton [+] pour ajouter une colonne, que vous nommez messageContent, de type String.

    Cliquez sur OK pour valider la configuration et fermer l'éditeur.

  4. Une boîte de dialogue s'ouvre et vous propose de propager le schéma.

    Cliquez sur Yes afin de propager le schéma au composant suivant.

  5. Double-cliquez sur le JMSOutput pour ouvrir sa vue Basic settings.

  6. Dans la liste Module List, sélectionnez la bibliothèque à utiliser, le Jar activemq dans cet exemple.

  7. Dans le champ Context Provider, saisissez l'URI de contexte, "org.apache.activemq.jndi.ActiveMQInitialContextFactory" dans ce scénario.

  8. Dans le champ Server URL, saisissez l'URI du serveur ActiveMQ.

  9. Dans le champ Connection Factory JDNI Name, saisissez le nom JDNI, "QueueConnectionFactory" dans cet exemple.

  10. Cochez la case Use Specified User Identity afin d'afficher les champs User Name et Password, dans lesquels vous pouvez saisir respectivement votre identifiant et votre mot de passe.

  11. Dans la liste Message type, sélectionnez Queue.

  12. Dans la liste Processing Mode, sélectionnez Message Content.

  13. Configurez le JMSInput de la même manière.

Exécuter le Job

  1. Appuyez sur les touches Ctrl + S pour sauvegarder le Job.

  2. Appuyez sur F6 pour exécuter le Job. Le serveur ActiveMQ a démarré à l'adresse suivante : tcp://192.168.30.46:61616.

    Dans la console, vous pouvez constater que le message est bien transféré et affiché.

Propriétés du tJMSOutput dans des Jobs Spark Streaming

Avertissement

La version Streaming de ce composant est disponible dans la Palette du studio si vous avez souscrit à Talend Real-time Big Data Platform ou Talend Data Fabric.

Basic settings

Module List

Sélectionnez dans cette liste la bibliothèque à utiliser.

 

Context Provider

Saisissez l'URL de contexte, par exemple "com.tibco.tibjms.naming.TibjmsInitialContext Factory". Attention cependant, la syntaxe peut varier selon le serveur JMS utilisé

 

Server URL

Saisissez l'URL du serveur en respectant la syntaxe, par exemple "tibjmsnaming://localhost:7222".

 

Connection Factory JDNI Name

Saisissez le nom JDNI.

 

Use Specified User Identity

Si vous devez vous identifier, cochez la case et saisissez votre nom d'utilisateur et votre mot de passe.

Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles, puis cliquez sur OK afin de sauvegarder les paramètres.

 

Message Type

Sélectionnez le type de message, Topic ou Queue.

 

To

Saisissez la cible du message, telle qu'attendue par le serveur.

 

Processing Mode

Sélectionnez le mode de traitement des messages :

Raw Message : message brut,

Message Content : contenu du message.

 

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs qui sont traités et passés au composant suivant.

Le schéma du tJMSOutput est en lecture seule. Il se compose d'une colonne : message lorsque le mode de traitement est Raw Message ou d'une colonne messageContent lorsque ce mode est Message Content.

Comme la colonne message nécessite des messages JMS valides en entrée, vous devez utiliser un composant tJava pour écrire ces messages JMS. Lorsque la colonne messageContent est utilisée, vous pouvez utiliser un composant d'écriture (Write) pour fournir les données.

Advanced settings

Delivery Mode

Sélectionnez un mode de réception dans la liste afin d'assurer la qualité des données lors de la réception :

Not Persistent : Ce mode autorise les pertes de données durant l'échange.

Persistent : Ce mode assure l'intégrité du message à la réception.

 

Use SSL/TLS

Cochez cette case pour activer la connexion cryptée SSL ou TLS.

Utilisez le composant tSetKeystore dans le même Job afin de spécifier les informations d'authentification.

Pour plus d'informations concernant le tSetKeystore, consultez tSetKeystore.

 

Properties

Cliquez sur le bouton [+] sous la table pour ajouter des lignes contenant l'identifiant et le mot de passe nécessaires à l'authentification de l'utilisateur.

 

Connection pool

Dans cette zone, configurez le pool de connexions utilisé pour contrôler le nombre de connexions qui restent ouvertes simultanément. Généralement, les valeurs par défaut données aux paramètres suivants du pool de connexion conviennent à la plupart des cas d'utilisation.

  • Max total number of connections : saisissez le nombre maximal de connexions (actives ou inactives) autorisées à rester ouvertes simultanément.

    Le nombre par défaut est 8. Si vous saisissez -1, vous autorisez un nombre illimité de connexions ouvertes simultanément.

  • Max waiting time (ms) : saisissez le temps maximum d'attente à la fin duquel la réponse à une demande d'utilisation de connexion doit être retournée par le pool de connexion. Par défaut, la valeur est -1, c'est-à-dire un temps illimité.

  • Min number of idle connections : saisissez le nombre minimal de connexions inactives (connexions non utilisées) autorisées dans le pool de connexions.

  • Max number of idle connections : saisissez le nombre maximal de connexions inactives (connexions non utilisées) dans le pool de connexions.

 

Evict connections

Cochez cette case pour définir les critères de destruction de connexions dans le pool de connexions. Les champs suivants sont affichés une fois la case cochée.

  • Time between two eviction runs : saisissez l'intervalle de temps (en millisecondes) à la fin duquel le composant vérifie le statut des connexions et détruit les connexions inactives.

  • Min idle time for a connection to be eligible to eviction : saisissez l'intervalle de temps (en millisecondes) à la fin duquel les connexions inactives sont détruites.

  • Soft min idle time for a connection to be eligible to eviction : ce paramètre fonctionne de la même manière que l'option Min idle time for a connection to be eligible to eviction mais garde le nombre minimal de connexions inactives, nombre défini dans le champ Min number of idle connections.

Utilisation dans des Jobs Spark Streaming

Dans un Job Talend Spark Streaming, il est utilisé en tant que composant de fin et nécessite un lien d'entrée. Les composants utilisés avec celui-ci doivent également être des composants Spark Streaming. Ils génèrent nativement du code Spark pouvant être exécuté directement dans un cluster Spark.

Ce composant, ainsi que les composants Spark Streaming de la Palette à laquelle il appartient, s'affichent uniquement lorsque vous créez un Job Spark Streaming.

Notez que, dans cette documentation, sauf mention contraire , un scénario présente uniquement des Jobs de type Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Spark Connection

Vous devez utiliser l'onglet Spark Configuration de la vue Run afin de définir la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, un (et un seul) composant relatif à un système de fichiers de la famille Storage est requis au sein du même Job, afin que Spark puisse utiliser ce composant pour se connecter au système de fichiers auquel les fichiers .jar dépendants du Job sont transférés :

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.

Scénario associé

Aucun scénario n'est disponible pour la version Spark Streaming de ce composant.