Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Mit Java 21 erstellte Tasks werden auf Java 17 ausgeführt, wenn der adaptive Modus in Talend Remote Engine aktiviert ist

Wenn eine Talend Remote Engine mit aktiviertem adaptivem Modus Java 17 als Java-Startversion erbt, wie z. B. von einer Installation, einem Upgrade oder Ihrer benutzerdefinierten Konfiguration, werden mit Java 21 erstellte Tasks unter Umständen auf Java 17 anstatt auf Java 21 ausgeführt, selbst wenn Java 17 nicht in der Konfiguration des adaptiven Modus angezeigt wird.

Hierbei handelt es sich um einen Sonderfall, der nur in bestimmten Szenarien bei der Installation, einem Upgrade oder einer benutzerdefinierten Konfiguration auftritt. In diesem Thema werden das Symptom, die Ursache und Lösungsschritte erläutert.

Symptom

Ihre Talend Remote Engine ist mit aktiviertem adaptivem Modus konfiguriert, um Java-Versionen für die Task-Ausführung dynamisch auszuwählen. Wenn Sie jedoch eine mit der Java 21-Kompatibilitätsstufe erstellte Task bereitstellen und ausführen, wird die Task auf Java 17 anstatt auf Java 21 ausgeführt. Dies tritt auf, obwohl:

  • Java 21 in der Konfigurationsdatei für den adaptiven Modus konfiguriert und verfügbar ist (<RE_installation>/etc/system.properties).
  • Java 17 nicht in der Konfiguration des adaptiven Modus angezeigt wird oder mit einem Kommentarzeichen versehen ist.

Dieses Verhalten hat Auswirkungen auf:

  • Datenintegrations-Jobs, die mit der Java 21-Kompatibilitätsstufe erstellt wurden
  • Microservices (Datendienste und Routen), die mit der Java 21-Kompatibilitätsstufe erstellt wurden

Ursache

Wenn der adaptive Modus konfiguriert ist, verwendet die Engine die Java-Startversion (in diesem Fall Java 17) als Fallback für jede konfigurierte Java-Version, die in der Datei system.properties nicht explizit definiert wurde.

Wenn die Java-Standardstartversion jedoch auf Java 17 festgelegt wurde, kann dieses Fallback-Verhalten unbeabsichtigt weiterhin Vorrang vor Java 21 haben, wodurch Java-21-Artefakte auf Java 17 ausgeführt werden.

Lösung:

Prozedur

  1. Halten Sie die Remote Engine an.
  2. Öffnen Sie die Datei <RE_installation>/etc/system.properties in einem Texteditor.
  3. Stellen Sie im Abschnitt zur Java-Pfadkonfiguration des adaptiven Modus sicher, dass org.talend.execution.JAVA_21_PATH explizit konfiguriert ist und auf eine gültige Java 21-Installation verweist. Beispiel:

    Example

    org.talend.execution.JAVA_21_PATH=/usr/lib/jvm/java-21-openjdk-amd64/bin
    # or on Windows:
    # org.talend.execution.JAVA_21_PATH=C:\\Program Files\\Java\\jdk-21\\bin
  4. Deaktivieren Sie das Java 17-Fallback, indem Sie folgende Zeile am Ende der Datei system.properties einfügen:
    reuse.self.jvm.version=false

    Diese Zeile verhindert, dass die Java-Version für den Start der Engine als Fallback für Java-Versionen verwendet wird, die nicht explizit im adaptiven Modus konfiguriert sind. Mit dieser Einstellung wird bei der Bereitstellung eines Java 21-Artefakts Java 21 ausgewählt, wenn Java 21 konfiguriert ist.

  5. Speichern Sie die Datei.
  6. Starten Sie die Remote Engine neu.
  7. Stellen Sie Ihre Java 21-Tasks erneut bereit. Sie sollten jetzt auf Java 21 ausgeführt werden.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!