Einrichten kompatibler Java-Versionen zum Ausführen von Jobs oder Microservices
Konfigurieren Sie Ihre Remote Engine so, dass sie Jobs oder Microservices mit der entsprechenden Java-Version basierend auf den Java-Kompatibilitätsstufen dieser Artefakte ausführt.
Standardmäßig verwendet eine Remote Engine die Java-Version der entsprechenden Umgebung, um Jobs oder Microservices auszuführen. Ab Remote Engine v2.13 muss Java 17 für den Engine-Start verwendet werden.
- Empfohlen für Engines ab Version 2.13.9 (veröffentlicht in R2025-01): Ab dieser Version übernimmt Remote Engine einen dynamischen JVM-Auswahlmodus. Dieser Modus passt die Engine automatisch an die richtige Java-Version an, um Jobs oder Microservices auszuführen. Weitere Informationen finden Sie unter „Adaptiver Modus: Konfigurieren der Remote Engine für die dynamische Auswahl der Java-Version“.
- Wenn Ihre Engine Version 2.13 oder höher ist, aber noch älter als Version 2.13.9 und Sie sie nicht auf die neueste Version aktualisieren können, befolgen Sie dieses Verfahren, um die Java-Version anzugeben, die für Ausführungen verwendet werden soll. Dieser Ansatz ist nicht dynamisch und nur eine Version kann angegeben werden. Weitere Informationen finden Sie unter „Festlegen einer Java-Version für die Ausführung von Jobs oder Microservices“.
Adaptiver Modus: Konfigurieren der Remote Engine für die dynamische Auswahl der Java-Version
In diesem Modus wählt Remote Engine automatisch die entsprechende Java-Instanz basierend auf dem Java-Kompatibilitätsgrad des auszuführenden Artefakts (Jobs oder Microservices) aus.
Dieser dynamische (adaptive) Java-Versionsmodus hilft Ihnen, Artefakte aus verschiedenen Studio-Versionen ohne Neuerstellung auszuführen.
- Weitere Informationen zum Festlegen dieser Ebene finden Sie unter Festlegen der Compiler-Konformitätsebene.
- Informationen darüber, wie sich die kompatiblen Java-Versionen zusammen mit den Studio-Versionen weiterentwickeln, finden Sie unter Kompatible Java-Umgebungen.
Prozedur
Typische Anwendungsfälle für den adaptiven Engine-Modus
- Für die Ausführung auf Java 8 erstellte Jobs:
Diese Jobs werden mit dem Java 8-Compliance-Level kompiliert und schließen --add-opens nicht ein (das Kontrollkästchen Enable Java 17 compatibility (Java 17-Kompatibilität aktivieren) ist nicht aktiviert). Sie sind in der Regel mit Java 11 kompatibel. Wenn entweder Java 8 und Java 11 oder nur Java 11 im adaptiven Modus festgelegt werden, stellt dies sicher, dass sie korrekt ausgeführt werden.
InformationshinweisTipp: Java 8 unterstützt --add-opens nicht. - Standard-Jobs (für Datenintegration), die für die Ausführung auf Java 11 erstellt wurden:
Diese Jobs werden mit dem Java 8-Compliance-Level kompiliert und schließen --add-opens bei Bedarf ein (das Kontrollkästchen Enable Java 17 compatibility (Java 17-Kompatibilität aktivieren) ist aktiviert).
Sie sind in der Regel mit Java 11 kompatibel. Sie können auf Java 17 ausgeführt werden, was aber fehleranfällig ist, da möglicherweise erforderliche Module für --add-opens für ein korrektes Funktionieren von Java 17 nicht vorhanden sind.
Wenn Java 11 im adaptiven Modus festgelegt wird, können diese Jobs verarbeitet werden.
- Für die Ausführung auf Java 17 erstellte Jobs:
Diese Jobs werden mit dem Java 17-Compliance-Level kompiliert. Sie werden auf der im adaptiven Modus eingerichteten Java 17-Instanz ausgeführt, bzw. bei fehlender Einrichtung auf der Standard-Java-Instanz der Engine.
Festlegen einer Java-Version für die Ausführung von Jobs oder Microservices
Konfigurieren Sie Ihre Remote Engine für die Ausführung von Jobs oder Microservices unter Verwendung einer bestimmten Java-Version. Wenn Sie den oben erläuterten adaptiven Modus aktiviert haben, ignorieren Sie diesen Abschnitt.
Dieser Abschnitt bietet eine Alternative zum adaptiven Modus, wenn dieser für Ihre Engine-Version nicht verfügbar ist. Es ermöglicht Ihnen, die Artefakte auszuführen, die mit Java-Versionen entwickelt wurden, die älter als Java 17 sind.
Bei der Entwicklung neuer Jobs oder Microservices können Sie bei deren Generierung die Option add-opens verwenden, um die Kompatibilität mit Java 17 sicherzustellen. Diese Option stattet die erforderlichen Pakete mit Java 17-Kompatibilität aus, sodass Ihre Jobs und Microservices direkt auf der neueren Remote Engine-Version ausgeführt werden können, ohne dass Sie dazu das zuvor in diesem Abschnitt erläuterte Verfahren für die Festlegung einer bestimmten Java-Version durchzuführen brauchen. Weitere Informationen zur Verwendung der Option add-opens und deren Einschränkungen finden Sie unter „Einrichten von Java in Talend Studio“.
Prozedur
Anzeigen von Java-Versionen, die von einer Remote Engine für die Taskausführung verwendet werden
Before you begin
Procedure
- Gehen Sie auf der Seite Processing zur Registerkarte Engines.
- Klicken Sie auf den Engine-Namen, um das Detailfenster anzuzeigen.
- Klicken Sie auf die Registerkarte Configuration (Konfiguration).
Results
