クラスパス設定
JavaトランスフォーメーションでサードパーティまたはカスタムのJavaパッケージを使用する場合は、クラスパスと少なくとも1つのクラス値を設定します。Secure Agentでは、Javaコードをコンパイルするときのクラスパス内にクラスおよびリソースファイルが含まれています。
例えば、JavaトランスフォーメーションにJavaパッケージであるconverterをインポートし、このパッケージをconverter.jarで定義したとします。この場合、Javaコードをコンパイルする前に、必ずconverter.jarをクラスパスに追加する必要があります。ただし、java.ioはビルトインのJavaパッケージであるため、java.ioパッケージをインポートする場合はクラスパスを設定する必要はありません。ビルトインのJavaパッケージのみ使用する場合は、クラスパスを設定する必要はありません。
Secure AgentがJARファイルまたはクラスファイルにアクセスできるようにするには、Javaパッケージに関連付けられた各JARファイルまたはクラスファイルディレクトリへのクラスパスを設定します。複数のクラスパスエントリは、Windowsの場合はセミコロン、UNIXの場合はコロンで区切ります。
詳細クラスタ上のJARファイルまたはクラスファイル
詳細モードのJavaトランスフォーメーションでサードパーティまたはカスタムのJavaパッケージを使用する場合は、JARファイルまたはクラスファイルをSecure Agentインストールディレクトリに保存します。
JARファイルまたはクラスファイルをSecure Agentマシンの次のディレクトリに格納します。
<Secure Agent installation directory>/ext/ctjars
詳細モードのJavaトランスフォーメーションでネイティブライブラリを使用する場合は、ctjarsディレクトリと同じ場所に、.soファイルと実行可能ファイル用にそれぞれ次のnative-libディレクトリとnative-binディレクトリを作成します。
<Secure Agent installation directory>/ext/native-lib
<Secure Agent installation directory>/ext/native-bin
Secure AgentマシンでJARファイルまたはクラスファイルを更新した場合は、次に詳細モードでジョブを実行したときにファイルが有効になります。Secure Agentマシンが予期せず停止してエージェントが別のマシンで再起動した場合は、新しいマシンの同じディレクトリにJARファイルまたはクラスファイルを追加します。
注: 本番環境では、ワークロードの実行中にextフォルダの下のコンテンツ(ctjars、connectors、python、native-lib、native-bin)を頻繁に更新しないでください。長時間実行されているジョブに悪影響を及ぼし、障害を引き起こす可能性があります。必要に応じて、k8s.infarpm.max.installers=xフラグをデフォルトの5よりも大きい値に設定できますが、これを行うと、ワーカーノードでディスクプレッシャの問題が発生する可能性があります。
サーバーレスランタイム環境を使用する場合、ファイルは補足ファイルの場所に格納します。補足ファイルの場所の詳細については、Administratorヘルプを参照してください。
クラスパス値
JavaトランスフォーメーションでサードパーティまたはカスタムのJavaパッケージを使用する場合は、少なくとも1つのクラスパス値を設定します。
次のクラスパス値を設定できます。
- Secure AgentのJVMClassPathプロパティ
Secure Agentは、Javaトランスフォーメーションを設計および検証する際にこのクラスパスを使用し、Mapping Designerからマッピングを実行するか、またはマッピングタスクを実行します。このクラスパスは、エージェント上で実行されるすべてのマッピングおよびマッピングタスクに適用されます。
管理者でSecure AgentのJVMClassPathプロパティを設定します。
このプロパティを設定するか、Secure AgentマシンでCLASSPATH環境変数を設定します。クラスパス値を両方とも設定する必要はありません。
- CLASSPATH環境変数
Secure Agentは、Javaトランスフォーメーションを設計および検証する際にこのクラスパスを使用し、Mapping Designerからマッピングを実行するか、またはマッピングタスクを実行します。このクラスパスは、エージェント上で実行されるすべてのマッピングおよびマッピングタスクに適用されます。
Secure Agentマシン上で、CLASSPATH環境変数を設定します。
CLASSPATH環境変数を設定するか、Secure AgentのJVMClassPathプロパティを設定します。クラスパス値を両方とも設定する必要はありません。
- 設計時クラスパス
Secure Agentは、Javaトランスフォーメーションを設計および検証するとき、およびMapping Designerからマッピングを実行するときにこのクラスパスを使用します。このクラスパスは、マッピングタスクによるマッピングを実行するときには使用されません。
トランスフォーメーションをテストするときに、JVMClassPathプロパティにもCLASSPATH環境変数にも必要なパッケージが含まれない場合は、設計時クラスパスを設定します。JVMClassPathプロパティまたはCLASSPATH環境変数に必要なパッケージが含まれるように設定した場合は、設計時クラスパスを設定する必要はありません。
Javaトランスフォーメーションの詳細プロパティで設計時クラスパスを設定できます。
- Javaクラスパスセッションプロパティ
Secure Agentは、マッピングタスクの実行時にこのクラスパスを使用します。このクラスパスは、プロパティが設定されているマッピングタスクにのみ適用されます。
1つのマッピングタスクにクラスパスを設定するが、その他のタスクには設定しない場合は、Javaクラスパスセッションプロパティを設定します。JVMClassPathプロパティまたはCLASSPATH環境変数に必要なパッケージが含まれるように設定した場合は、Javaクラスパスセッションプロパティを設定する必要はありません。
マッピングタスクの詳細セッションプロパティでJavaクラスパスセッションプロパティを設定します。
複数のクラスパス値を設定すると、Secure Agentは適用されるすべてのクラスパスを使用します。例えば、Secure AgentでJVMClassPathプロパティ、CLASSPATH環境変数、およびJavaトランスフォーメーションで設計時クラスパスを設定するとします。JavaトランスフォーメーションでJavaコードをコンパイルするか、Mapping Designerによるマッピングを実行すると、Secure Agentは3つすべてのクラスパスを使用します。マッピングタスクによるマッピングを実行すると、Secure AgentはJVMClassPathおよびCLASSPATH環境変数のみ使用します。
警告: 複数のクラスパスを設定する場合は、ランタイムエラーを発生する可能性があるためクラスまたはリソースのコピーが複数作成されないようにしてください。
Secure AgentのJVMクラスパスの設定
管理者の[Secure Agent]ページで、Secure AgentのDTM JVMClassPathプロパティを設定します。Secure Agentは、Javaトランスフォーメーションを設計および検証する際にこのクラスパスを使用し、Mapping Designerからマッピングを実行するか、またはマッピングタスクを実行します。このクラスパスを設定後は、Secure Agentを再起動する必要があります。
1管理者で、[ランタイム環境]を選択します。
2Secure Agentを選択します。
3[Secure Agent]ページで、[編集]をクリックします。
4[システム構成の詳細]で、以下の値を選択します。
オプション | 値 |
---|
サービス | データ統合サーバー |
タイプ | DTM |
5JVMClassPathプロパティの行で、[編集]をクリックします。
6既存のクラスパス値にクラスパスを付加します。
Windowsの場合、クラスパスの各項目を区切るにはセミコロン(;)を使用します。UNIXの場合、コロン(:)を使用します。
注: デフォルト値の「pmserversdk.jar」は削除しないでください。
7[保存]をクリックします。
システム構成の詳細を更新したら、Secure Agentを再起動します。
CLASSPATH環境変数の設定
Secure Agentマシン上で、CLASSPATH環境変数を設定します。Secure Agentは、Javaトランスフォーメーションを設計および検証する際にこのクラスパスを使用し、Mapping Designerからマッピングを実行するか、またはマッピングタスクを実行します。このクラスパスを設定後は、Secure Agentを再起動する必要があります。
WindowsおよびUNIXで異なるCLASSPATH環境変数を設定します。
WindowsでのCLASSPATHの設定
Windowsでは、[コントロールパネル]の[システムの詳細な設定]からCLASSPATH環境変数を設定します。
1Windowsの[コントロールパネル]から[システムの詳細な設定]を開きます。
2[環境変数]をクリックします。
3[システム変数]で、[新規]をクリックします。
4CLASSPATHに変数名、クラスパスに変数値を設定します。
5[OK]をクリックします。
環境変数を設定したら、Secure Agentを再起動します。
UNIXでのCLASSPATHの設定
UNIXでは、UNIXシェルからCLASSPATH環境変数を設定します。
次のいずれかのコマンドを入力します。 - - UNIXのCシェル環境では、次のように入力します。
setenv CLASSPATH <classpath>
- - UNIXのBourneシェル環境では、次のように入力します。
CLASSPATH = <classpath>
export CLASSPATH
環境変数を設定したら、Secure Agentを再起動します。
設計時クラスパスの設定
Javaトランスフォーメーションの詳細プロパティで設計時クラスパスを設定します。Secure Agentは、Javaトランスフォーメーションを設計および検証するとき、およびMapping Designerからマッピングを実行するときに設計時クラスパスを使用します。
1Javaトランスフォーメーションが含まれるマッピングを開きます。
2Javaトランスフォーメーションを選択し、[詳細プロパティ]タブをクリックします。
3[設計時クラスパス]フィールドにクラスパスを入力します。
Javaクラスパスセッションプロパティの設定
マッピングタスクの詳細セッションプロパティでJavaクラスパスセッションプロパティを設定します。Secure Agentは、マッピングタスクの実行時にこのクラスパスを使用します。
1マッピングタスクを開きます。
2[スケジュール]ページで、詳細セッションプロパティまで下にスクロールし、[追加]をクリックします。
3[全般オプション設定]で[Javaクラスパス]を選択します。
4[セッションプロパティ値の設定]フィールドにクラスパスを入力します。
5[保存]をクリックします。