Retour

Création d’une Route de médiation pour lire et traiter les messages d’ActiveMQ

Temps de lecture : 4 minutes

Dans ce tutoriel, vous allez construire une route de médiation Talend pour consommer un message de votre ActiveMQ. Une route de médiation peut être utilisée pour l’intégration d’applications en temps réel – fournissant des services Web, transformant les données, avec une capacité transactionnelle et une gestion des erreurs solide.

Prérequis :

  • Avoir votre environnement activeMQ opérationnel et au moins une file d’attente de messages disponible.
  • Avoir installé le Studio Talend, la partie ESB (Enterprise Service Bus) des solutions Talend.
  • L’application gratuite Talend Open Studio for ESB est suffisante pour ce tutoriel.
  • Avoir étudié le tutoriel suivant : Crétion d’une route simple.

Composants ESB utilisés dans la Route :

  • cMQConnectionFactory : Ce composant rassemble un ensemble de paramètres de configuration afin de se connecter à un serveur MQ.
  • cJMS : Ce composant échange des messages entre une Route et un provider JMS.
  • cMulticast : Ce composant route des messages vers un certain nombre d’endpoints en une fois et les traite de différentes manières.
  • cDirect : Ce composant produit et consomme des messages de manière synchrone dans différents process dans un CamelContext.
  • cTalendJob : Ce composant échange des messages entre un Job d’intégration de données et une Route de médiation.

1.Créer une Route :

  • Dans la vue Repository, faites un clic droit sur « Routes » et sélectionnez « Créer une route ».
  • Dans la fenêtre qui apparait saisissez un nom, un objectif, et une description de votre Route.
  • Cliquez sur Terminer.

2.Configurer la connexion ActiveMQ :

  • Faites glisser et déposez le composant cMQConnectionFactory sur votre Designer.
  • Double cliquez sur votre composant cMQConnectionFactory et ouvrez la vue component.
  • Dans le champ Serveur MQ sélectionnez ActiveMQ.
  • Dans le champ URI du Broker saisissez « tcp://localhost:61616 » .
  • Cochez la case d’authentification.
  • Ajoutez le nom d’utilisateur « admin » et le mot de passe « admin ».

3.Consommer des messages :

  • Ajouter le composant cJMS à votre designer.
  • Dans le champ Type sélectionnez « file d’attente« .
  • Dans le champ destination saisissez le nom de votre fille d’attente dans notre exemple c’est «TalendHowTo » .
  • Dans le champ conectionFactory sélectionnez votre composant cMQConnectionFactory configuré dans l’étape précédente.

4.Diffusez votre message vers plusieurs destinations :

  • Faites glisser un composant cMulticast vers le Designer.
  • Connectez le composant cJMS à votre composant cMulticast (Row – >Route).
  • Double cliquez sur votre composant cMulticast pour affichez la vue de configuration du composant.
  • Ajoutez deux URIS aux paramètres de base de votre composant cMulticast car vous allez traiter le message de deux manières différentes.
    • direct:tojob.
    • direct:toarc.

5.Consommer le message de cMulticast:

Cela vous permettra d’ajouter deux composants cDirect à votre designer. Le cDirect vous permet de produire et de consommer des messages de manière synchrone dans différents threads avec un seul CamelContext. cDirect fournit une invocation directe et synchrone de tous les consommateurs lorsqu’un producteur envoie un échange de messages.

  • Ajoutez deux composants cDirect. Vous n’avez pas à les connecter au composant cMulticast car les composants cDirect capteront votre message en définissant les paramètres de base.
  • Configurez les paramètres de base de vos composants cDirect :
    • cDirect1 : Nom = « tojob ».
    • cDirect2 : Nom = « toarc ».

6.Ajouter un message à la file d’attente d’archivage:

Il existe différentes manières de stocker vos messages traités, mais dans cet exemple, nous allons ajouter le message à une file d’attente d’archivage (TalendHowTo.archive).

  • Ajoutez un composant cJMS à côté de votre deuxième composant cDirect.
  • Connectez votre composant cDirect à votre composant cJMS (Row –> Route).
  • Configurez les paramètres de votre composant cJMS comme le montre la figure suivante :

7.Diriger votre message vers un job ETL:

  • Faites glisser et déposez un composant cTalendJob à côté de votre premier composant cDirect.
  • Connectez le composant cDirect à votre composant cTalendJob (Row –> Route).
  • Accédez à l’onglet des paramètres de votre cTalendJob et appuyez sur les points comme indiqué ci-dessous.
  • Dans la fenêtre qui apparait sélectionnez le job qui contient votre traitement ou bien choisir l’option de créer un nouveau Job.

Dans notre exemple le job de traitement que nous avons utilisé ressemble à ceci :

Votre Route doit ressembler à ceci :

Résultats :

  • Exécutez votre Route depuis votre studio ESB.
  • Ajoutez des messages à votre file d’attente.
  • Visualisez le nombre de messages traités et le nombre de messages stockés dans la fille d’attente d’archives.
  • Enfin visalusez le résultat de votre job ETL.
Fille d’attente avant l’exécution de la Route.
Exécution de la Route.
Résultat après l’exécution de la Route.

Vous savez désormais comment créer et exécuter une Route de médiation pour lire et traiter les messages d’ActiveMQ.

Laisser un commentaire

Il n'y a pas de commentaires pour le moment. Soyez le premier à participer !