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.