为 Talend JobServer 设置兼容的 Java 版本以运行作业
根据作业的 Java 兼容性级别,配置您的 JobServer 以使用适当的 Java 版本执行作业。
默认情况下,Talend JobServer 会使用其环境的 Java 版本来执行作业。因此,如果跳过本节,Talend JobServer 默认为 Java 17。
- 建议从 8.0.2.20250129_0823_patch 开始(在 R2025-01 中发布)的 JobServer 实例使用:从该版本开始,添加了动态 JVM 选择模式,可自动将服务器调整到正确的 Java 版本以运行作业。请参阅自适应模式:将 Talend JobServer 配置为动态选择 Java 版本。
- 如果您的 JobServer 版本较旧,且无法升级到最新版本,请按照此步骤指定用于执行的 Java 版本。这种方法不是动态的,只能指定一个版本。请参阅为 Talend JobServer 配置 JVM。
自适应模式:将 Talend JobServer 配置为动态选择 Java 版本
在此模式下,Talend JobServer 会根据要执行作业的 Java 兼容性级别自动选择适当的 Java 实例。
这种动态 Java 版本(自适应)模式可帮助您执行不同 Studio 版本的作业,而无需重建。
- 有关设置此级别的更多信息,请参阅 设置编译器合规级别。
- 有关兼容 Java 版本如何随 Studio 版本发展的信息,请参阅 兼容 Java 环境。
步骤
自适应模式的典型使用案例
- 为在 Java 8 上运行而构建的作业:
这些作业是按照 Java 8 合规性级别编译的,不包括 --添加--打开(未选择启用 Java 17 兼容性复选框)。它们通常与 Java 11 兼容。在自适应模式下同时设置 Java 8 和 11 或单独设置 Java 11 可确保它们正确运行。
信息注释提示: Java 8 不支持 --add-opens。 - 标准(数据集成)为在 Java 11 上运行而构建的作业:
这些作业是按照 Java 8 合规性级别编译的,在需要时包括 --add-opens(已选择启用 Java 17 兼容性复选框)。
它们通常与 Java 11 兼容。在 Java 17 上运行它们是可能的,但可能容易出错,因为 --add-opens 可能缺少 Java 17 正确运行所需的模块。
将 Java 11 设置为自适应模式后,它就能处理这些作业。
- 为在 Java 17 上运行而构建的作业:
这些工作是按照 Java 17 合规级别编译的。它们在以自适应模式设置的 Java 17 实例上运行,如果未设置,则在服务器的默认 Java 实例上运行。
为 Talend JobServer 配置 JVM
关于此任务
要使用“作为服务安装的 Talend JobServer 获得相同的结果,请参阅将 Talend JobServer 作为服务安装到 Windows。
步骤
结果
-
转到目录 <root>/conf/,其中 <root> 是 Talend JobServer 路径,并打开 TalendJobServer.properties 文件进行编辑。
- 在专用于作业启动程序路径的行中,在等号后添加您的 Java 可执行文件的路径。
# 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"
仅当您的路径包含空格时才需要使用引号,如截图中所示。否则,请输入不带引号的路径。