ジョブやマイクロサービスを実行できるよう互換性があるJavaバージョンを設定
アーティファクトのJava互換性レベルに基づいて、適切なJavaバージョンを使ってジョブやマイクロサービスを実行できるようRemote Engineを設定します。
デフォルトでは、Remote Engineはその環境のJavaバージョンを使ってジョブやマイクロサービスを実行します。Remote Engine v2.13以降では、エンジンの起動にJava 17が必須です。
- v2.13.9 (R2025-01でのリリース)以降のエンジンで推奨: 同リリースより、Remote Engineは動的JVM選択モードを採用しています。ジョブやマイクロサービスを実行できるよう、このモードでは適切なJavaバージョンにエンジンを自動的に適応させます。適用モード: Javaバージョンを動的に選択するようRemote Engineを設定をご覧ください。
- エンジンがv2.13〜v2.13.9であり、最新バージョンにアップグレードできない場合は、次の手順に従い、実行に使用するJavaのバージョンを指定します。この方法は動的ではなく、指定できるバージョンは1つだけです。ジョブまたはマイクロサービスを実行するJavaバージョンを指定をご覧ください。
適用モード: Javaバージョンを動的に選択するようRemote Engineを設定
このモードでは、実行するアーティファクト(ジョブまたはマイクロサービス)のJava互換性レベルに基づいて、Remote Engineが自動的に適切なJavaインスタンスを選択します。
この動的Javaバージョン(適用)モードを使用すれば、さまざまなStudioバージョンのアーティファクトを再ビルドすることなく実行できます。
- このレベルの設定に関する詳細は、コンパイラーのコンプライアンスレベルを設定をご覧ください。
- 互換性があるJavaのバージョンがStudioのバージョンと共にどのように進化するかについては、互換性があるJava環境をご覧ください。
手順
エンジン適用モードの代表的なユースケース
- Java 8で動作するようビルドされたジョブ:
これらのジョブはJava 8のコンプライアンスレベルでコンパイルされ、--add-opensは含まれていません([Enable Java 17 compatibility] (Java 17の互換性を有効化)チェックボックスは選択されていません)。これらは一般的にJava 11と互換性があります。Java 8と11の両方を設定するかJava 11だけを適用モードに設定することで、正しく動作するようになります。
情報メモヒント: Java 8は--add-opensをサポートしていません。 - Java 11で動作するようにビルドされた標準(データ統合)ジョブ:
これらのジョブはJava 8のコンプライアンスレベルでコンパイルされ、--add-opensが含まれています([Enable Java 17 compatibility] (Java 17の互換性を有効化)チェックボックスが選択されています)。
これらは一般的にJava 11と互換性があります。Java17 でこれらを実行することは可能であるものの、Java17での正しい動作に必要なモジュールを--add-opensが持たないことがあるため、エラーが発生しやすくなります。
Java 11を適用モードに設定すれば、これらのジョブを処理できるようになります。
- Java 17で動作するようビルドされたジョブ:
これらのジョブはJava 17のコンプライアンスレベルでコンパイルされています。適用モードに設定されたJava 17インスタンスで実行されるか、未設定の場合はエンジンのデフォルトのJavaインスタンスで実行されます。
ジョブまたはマイクロサービスを実行するJavaバージョンを指定
特定のJavaバージョンを使ってジョブやマイクロサービスを実行できるよう、Remote Engineを設定します。上述の適用モードを有効にした場合、このセクションは無視して構いません。
このセクションでは、適用モードがお使いのエンジンバージョンで利用できない場合に適用モードの代替となる方法について説明します。それによって、Java 17より古いJavaバージョンでデザインされたアーティファクトを実行できるようになります。
新しいジョブやマイクロサービスを開発する場合、Java 17との互換性が確保されるよう、add-opensオプションでビルドすることを検討してください。このオプションはJava 17との互換性のために必要なパッケージを開き、このセクションで説明した特定のJavaバージョンを定義する手順を踏むことなく、より新しいRemote Engineバージョンで直接実行可能なジョブやマイクロサービスを作成します。このadd-opensオプションの使用方法とその制限については、Talend StudioでJavaを設定をご覧ください。
手順
Remote Engineがタスクの実行で使用するJavaのバージョンを表示
Before you begin
Procedure
- [Processing] (処理中)ページの[Engines] (エンジン)タブに移動します。
- エンジン名をクリックすると詳細パネルが表示されます。
- [Configuration] (設定)タブをクリックします。
Results
