Accéder au contenu principal Passer au contenu complémentaire

Construire une Route vers un microservice ESB basé Spring Boot

Pourquoi et quand exécuter cette tâche

Note InformationsRemarque : Les méthodes Java de l'objet context utilisées dans le cConfig ou dans le cProcessor, par exemple keySet(), entrySet(), values(), size() ne sont pas supportées dans le type de build Microservice. Ces méthodes sont supportées uniquement dans le type de build OSGi. Dans Spring Boot, ContextProperties doit être une classe POJO et ne peut étendre java.util.Properties.

Pour construire une Route vers un microservice ESB basé Spring-boot, procédez comme suit :

Procédure

  1. Cliquez sur dans la barre d'outils du Studio, ou sélectionnez File > Edit Project Properties dans la barre de menu pour ouvrir la boîte de dialogue Project Settings.
  2. Dans l'arborescence à gauche, sélectionnez Log4j pour afficher la vue correspondante.
  3. Personnalisez la configuration de Log4j selon vos besoins. Les instructions Log4j XML par défaut écrivent uniquement les logs de type WARN dans la console. Pour plus d'informations concernant les paramètres Log4j, consultez cette documentation (uniquement en anglais) (en anglais).
    Un exemple de configuration Log4j est présenté ci-dessous et fournit également un fichier tesb.log lorsque le microservice ESB est démarré. Notez que la configuration de Log4j est la même pour le Studio et le microservice ESB. Néanmoins, un fichier log4j.xml peut également être placé dans un dossier de configuration externe du microservice, lors de l'exécution, afin de fournir une configuration Log4j spécifique pour le déploiement en production.
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
        <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d | %-5.5p | %-16.16t | %-32.32C %4L | %m%n"/>
            </layout>
        </appender>
        <appender name="rollingFile" class="org.apache.log4j.RollingFileAppender">
            <param name="file" value="tesb.log"/>
            <param name="MaxFileSize" value="1024KB"/>
            <param name="MaxBackupIndex" value="10"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d | %-5.5p | %-16.16t | %-32.32C %4L | %m%n"/>
            </layout>
        </appender>
        <root>
            <priority value="info"/>
            <appender-ref ref="stdout"/>
            <appender-ref ref="rollingFile"/>
        </root>
    </log4j:configuration>
  4. Si la Route contient un composant cSOAP ou cREST, vous devez utiliser une URL d'endpoint relative au lieu d'une URL absolue. Lorsque le microservice est en cours d'exécution, un conteneur Tomcat embarqué, avec le port par défaut 8065 est démarré par Spring-boot. Les services REST et SOAP s'exécutent également sur ce port. Si vous souhaitez écraser le port par défaut, utilisez l'option --server.port dans la commande ou configurez-la dans le fichier application.properties du dossier /config, dans le .jar du microservice.
    Si la Route contient un composant cSOAP ou cREST et si un ou plusieurs services d'infrastructure ESB sont utilisés, vous devez effectuer les étapes suivantes pour construire la Route :
    • Si Service Activity Monitoring est activé, modifiez le fichier <Studio_Home>/esb/agent.properties afin de configurer l'agent de Service Activity Monitoring selon vos besoins. Pour plus d'informations concernant les propriétés de agent.properties, consultez la section relative à la configuration de l'agent de Service Activity Monitoring, dans le Guide Talend ESB Infrastructure Services Configuration Guide (en anglais).

    • Si le Service Locator est activé, modifiez le fichier <Studio_Home>/esb/locator.properties pour configurer le Service Locator selon vos besoins. Pour plus d'informations concernant les propriétés de locator.properties, consultez la section relative à la configuration du Service Locator, dans le Guide Talend ESB Infrastructure Services Configuration Guide (en anglais).

    • Si la Route est un fournisseur de service et que l'authentification par jeton utilisateur·rice est activée, modifiez le fichier Studio_Home/esb/microservice/users.properties afin de spécifier les informations d'authentification de l'utilisateur·rice, en suivant le format <USERNAME>=<PASSWORD>. Par exemple, les paramètres suivants définissent deux utilisateurs ou utilisatrices :

      tadmin=tadmin
      tesb=tesb
    • Si l'authentification par jeton SAML et les autorisations sont activées, ou si le Service Registry est utilisé, vous devez installer les artefacts d'entreprise ESB dans votre référentiel local Maven, à l'aide des commandes suivantes, dans une invite de commande :

      cd <TalendRuntimePath>/add-ons/maven-repo
      mvn clean package -s <Studio_Home>/configuration/maven_user_settings.xml
  5. Ouvrez la Route dans l'espace de modélisation graphique. Dans la vue Deployment de l'onglet Route, sélectionnez RouteMicroservice dans la liste Build Type. Sauvegardez la Route.
  6. Dans la vue Repository, cliquez-droit sur la Route que vous souhaitez créer et sélectionnez Build Route pour ouvrir la boîte de dialogue Build Route.
  7. Dans le champ To archive file, parcourez votre système jusqu'au répertoire dans lequel vous souhaitez sauvegarder votre Route.
  8. Dans la zone Route Version, sélectionnez le numéro de version de la Route, si vous en avez créé plus d'une version.
  9. Dans la zone Build Type, sélectionnez ESB Microservice (Spring Boot).
  10. Dans la zone Options :
    • cochez la case Only export the default context pour exporter uniquement le contexte par défaut utilisé dans la Route ;

    • cochez la case Export as ZIP pour exporter la Route vers un fichier .zip, fournissant un dossier externe de configuration et démarrer les scripts afin de lancer le microservice avec le dossier de configuration externe pour Linux (.sh) et pour Windows (.bat). Si cette option n'est pas cochée, la Route est exportée en tant que fichier .jar par défaut.

    • cochez la case Enable Prometheus metrics endpoint pour construire l'endpoint de métriques Prometheus dans le microservice, afin de monitorer l'exécution des Routes, la mémoire de la JVM, la consommation du processeur etc. Par défaut, cette fonctionnalité est un pont entre tous les attributs JMX et les valeurs dans Prometheus. Pour plus d'informations concernant Prometheus, consultez la documentation Prometheus (uniquement en anglais) (en anglais).
      Note InformationsRemarque : Cette option est disponible uniquement si vous avez installé la mise à jour mensuelle R2020-08 du Studio ou une mise à jour plus récente fournie par Talend. Pour plus d'informations, contactez votre administrateur ou administratrice.
  11. Cliquez sur Finish pour valider vos modifications, terminer l'export et fermer la boîte de dialogue. Une fenêtre s'ouvre, vous indiquant que Maven doit être configuré avec une connexion à Internet pour construire le microservice ESB, car certaines bibliothèques doivent être téléchargées depuis le référentiel Maven distant. Le Studio Talend nécessite une connexion à Internet lorsque vous utilisez la fonctionnalité ESB de microservice. Le Studio Talend ne fournit pas de mode complètement hors connexion pour l'opération de construction d'un microservice ESB. Cliquez sur Yes pour passer Maven en mode en ligne.
    Si l'opération Finish vous conduit à une erreur, vous pouvez trouver plus d'informations relatives à cette erreur dans le fichier de log du Studio <Studio_Home>\workspace\.metadata\.log.

Résultats

Un fichier .jar ou .zip pour la Route est créé à l'emplacement défini. Vous pouvez l'exécuter indépendamment du Studio Talend en mode standalone.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.