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

Configurer les versions compatibles de Java pour l'exécution de Jobs par Talend JobServer

Configurez votre JobServer pour exécuter des Jobs à l'aide de la version Java adaptée, en vous basant sur les niveaux de compatibilité Java des Jobs.

Par défaut, un Talend JobServer utilise la version de Java de son environnement pour exécuter des Jobs. Ainsi, si vous ignorez cette section, la version par défaut de Java pour Talend JobServer sera la version 17.

Cependant, deux approches sont disponibles pour configurer différentes versions de Java afin d'exécuter des Jobs :
  • Recommandation pour les instances de JobServer à partir du patch 8.0.2.20250129_0823_patch (sortie avec la version R2025-01) : à partir de cette version, un mode de sélection dynamique de la JVM a été ajouté pour adapter automatiquement le serveur à la version Java requise pour exécuter les Jobs. Pour plus d'informations, consultez Mode adaptatif : Configurer le Talend JobServer pour sélectionner dynamiquement une version de Java.
  • Si votre JobServer a une version antérieure et que vous ne pouvez mettre à niveau vers la version la plus récente, suivez cette procédure afin de spécifier la version de Java à utiliser pour les exécutions. Cette approche n'est pas dynamique et seule une version peut être spécifiée. Pour plus d'informations, consultez Configurer la JVM pour votre Talend JobServer.

Mode adaptatif : Configurer le Talend JobServer pour sélectionner dynamiquement une version de Java

Dans ce mode, le Talend JobServer sélectionne automatiquement l'instance Java appropriée, basée sur le niveau de compatibilité Java du Job à exécuter.

Ce mode dynamique de sélection de versions de Java (adaptif) vous permet d'exécuter des Jobs à partir de différentes versions du Studio sans avoir à les construire à nouveau.

Note InformationsConseil : Le niveau de compatibilité de Java et des Jobs est configuré dans le Studio Talend.

Procédure

  1. Arrêtez le Talend JobServer. Pour un arrêt propre, consultez Arrêter votre Talend JobServer proprement.
  2. Allez dans le répertoire où Talend JobServer est installé et ouvrez le fichier start_rs.bat pour le modifier.
  3. Ajoutez les propriétés système Java au fichier MY_JVM_ARGS. Ces propriétés fournissent les chemins vers vos installations de Java.
    set MY_JVM_ARGS="-Dcom.sun.management.jmxremote -Dorg.talend.execution.JAVA_8_PATH=\path\to\java8\bin -Dorg.talend.execution.JAVA_11_PATH=\path\to\java11\bin -Dorg.talend.execution.JAVA_17_PATH=\path\to\java17\bin"                  
    Le Talend JobServer sélectionne la version de Java en procédant comme suit :
    • Il analyse le niveau Java des Jobs comme version candidate.
    • Si la version candidate est configurée avec org.talend.execution.JAVA_*_PATH, il utilise cette instance de Java.
    • Si elle n'est pas configurée, il sélectionne la version suivante la plus haute configurée de Java.

      Par exemple, si un Job utilise Java 8 mais que Java 8 n'est pas configuré, tandis que Java 11 est configuré, le Talend JobServer sélectionne Java 11.

    • Si org.talend.execution.JAVA_17_PATH est déconfigurée alors que cette version est nécessaire pour le Job, l'instance Java utilisée est celle du démarrage du serveur.
  4. Redémarrez le JobServer.

Cas d'utilisation typiques pour le mode adaptatif

  • Jobs construits pour s'exécuter sur Java 8 :

    Ces Jobs sont compilés avec le niveau de conformité de Java 8 et ne comprennent pas --add-opens (la case Enable Java 17 compatibility (Activer la compatibilité avec Java 17) n'est pas cochée). Ils sont généralement compatibles avec Java 11. Configurer Java 8 et 11 ou configurer Java 11 uniquement en mode adaptatif leur assure une exécution correcte.

    Note InformationsConseil : Java 8 ne supporte pas --add-opens.
  • Jobs Standard (intégration de données) construits pour s'exécuter sur Java 11 :

    Ces Jobs sont compilés avec le niveau de conformité de Java 8 et comprennent --add-opens où nécessaire (la case Enable Java 17 compatibility (Activer la compatibilité avec Java 17) est cochée).

    Ils sont généralement compatibles avec Java 11. Il est possible de les exécuter sur Java 17 mais cela peut provoquer des erreurs, car --add-opens peut ne pas avoir les modules nécessaires pour que Java 17 fonctionne correctement.

    Configurez Java 11 en mode adaptif pour lui permettre de gérer ces Jobs.

  • Jobs construits pour s'exécuter sur Java 17 :

    Ces Jobs sont compilés avec le niveau de conformité de Java 17. Ils s'exécutent sur l'instance de Java 17 configurée en mode adaptatif, ou, si non configurée, sur l'instance de Java par défaut du serveur.

Que faire ensuite

Si vous devez installer Talend JobServer en tant que service, consultez cette étape afin de configurer les versions compatibles de Java pour exécuter des Jobs.

Configurer la JVM pour votre Talend JobServer

Talend JobServer vous permet de choisir une autre JVM que celle utilisée par défaut afin de lancer vos Jobs. Si vous avez activé le mode adaptatif présenté ci-dessus, ignorez cette section.

Pourquoi et quand exécuter cette tâche

Par exemple, vous pouvez configurer Talend JobServer pour qu'il démarre avec Java 17 et qu'il exécute des Jobs avec Java 11.

Pour obtenir les mêmes résultats avec Talend JobServer installé en tant que service, consultez Installer Talend JobServer en tant que service sous Windows.

Procédure

  1. Si ce n'est pas fait, ajoutez le chemin vers votre instance de Java 11 dans votre variable d'environnement PATH.
  2. Ouvrez une invite de commande et exécutez la commande java -version.
    Vous devriez voir s'afficher Java 11, indiquant que tout processus Java démarre par défaut avec l'exécutable de Java 11 défini dans la variable d'environnement PATH.
  3. Si ce n'est pas fait, ajoutez le chemin vers votre instance de Java 17 dans votre variable d'environnement JAVA_HOME.
  4. Allez dans le répertoire où Talend JobServer est installé et ouvrez le fichier start_rs.bat pour le modifier.
  5. Modifiez set MY_JAVA=java en set MY_JAVA=%JAVA_HOME%\bin\java, pour vous assurer que votre Talend JobServer démarre avec Java 17, comme défini dans JAVA_HOME.
  6. Répétez cette opération dans le fichier stop_rs.bat.

Résultats

Lors du prochain lancement de Talend JobServer, il utilisera Java 17 pour démarrer et Java 11 pour exécuter les Jobs.
Note InformationsRemarque : Vous pouvez également utiliser le paramètre de chemin du Job launcher pour définir une instance Java à utiliser, même si cette procédure n'est pas recommandée, à cause de son manque de portabilité. Pour ce faire :
  1. Allez dans le répertoire <root>/conf/, où <root> est le chemin de Talend JobServer et ouvrez le fichier TalendJobServer.properties pour le modifier.

  2. Dans la ligne dédiée au chemin d'accès au lanceur de Job, ajoutez le chemin d'accès à votre exécutable Java après le signe égal.
    # Set the executable path of the binary which will run the job, for example: /usr/bin/java/java or "c:\\Program Files\\Java\\bin\\java.exe"
    org.talend.remote.jobserver.commons.config.JobServerConfiguration.JOB_LAUNCHER_PATH="C:\\Program Files\\Java\\jdk11.0.13\\bin\\java.exe"

    L'utilisation des guillemets est nécessaire uniquement lorsque vos chemins d'accès contiennent des espaces, comme vous le montre la capture d'écran. Sinon, saisissez le chemin d'accès sans guillemet.

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.