La compatibilité avec Java 17 permet d'éviter les erreurs Java liées aux opérations d'accès de réflexion non autorisées et d'assurer que tous les Jobs ont les dépendances Java nécessaires à leur exécution.
Dans la zone Module access settings (Paramètres d'accès au module), les modules Java internes pour les composants Talend, le framework Talend Component Kit et la distribution Big Data sont configuré·es dans l'onglet Default (Par défaut). Vous pouvez configurer les modules Java internes pour vos composants personnalisés et les modules Java internes globaux pour tous·tes les Jobs et Routes dans l'onglet Custom (Personnalisé).
L'option Allow Jobs to access internal Java fields and methods if required (Autoriser les Jobs à accéder aux champs et méthodes internes Java si nécessaire) réduit le nombre d'avertissements et d'erreurs fatales de la JVM survenant lorsque des Jobs sont exécutés avec Java 11 ou Java 17, respectivement.
Exemple d'erreur que vous pouvez obtenir si vous n'ajoutez pas ce paramètre :
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private static volatile java.net.Authenticator
java.net.Authenticator.theAuthenticator accessible: module java.base does not "opens java.net" to unnamed module @121f97fb
Lorsqu'elle est activée, les Jobs construits par le Studio Talend auront les paramètres --add-opens dans le fichier de script job.sh ou job.bat, par exemple :
--add-opens=java.base/java.net=ALL-UNNAMED
Le paramètre
--add-opens est également ajouté dans la commande Java pour tous les composants
tRunJob configurés comme indépendants. Vous devez donc reconstruire tous vos Jobs afin que ces nouveaux paramètres soient passés à la JVM. Sinon, ces paramètres sont manquants et l'exécution des Jobs comprenant les sous-Jobs indépendants échoue.
Les Jobs ainsi construits ne peuvent être exécutés avec Java 8.