4.6.2 簡易構築定義ファイルを設定するときの注意事項(バッチアプリケーション使用時)
ここでは,バッチアプリケーションを実行するシステムを構築する場合に,簡易構築定義ファイルを設定するときの注意事項について説明します。
-
サーバプロセスをバッチサーバとして構築し,動作させるためには設定が必要です。バッチサーバは論理J2EEサーバとして定義します。バッチサーバの設定は,論理J2EEサーバ(j2ee-server)の<configuration>タグ内に指定します。
バッチサーバに関する定義を次の表に示します。
表4‒34 バッチサーバに関する定義 項目
パラメタ
設定内容
必須または任意
バッチサーバとしてサーバを構築するための設定
batch.service.enabled
バッチサーバとして構築するかどうかを指定します。パラメタの値は必ずtrueを指定してください。
必須
SecurityManagerを使用しない設定
use.security
バッチサーバの起動時にSecurityManagerを使用するかどうかを指定します。パラメタの値は必ずfalseを指定してください。
必須
ライトトランザクション機能を有効にするための設定
ejbserver.distributedtx.XATransaction.enabled
グローバルトランザクションを使用するかどうかを指定します。バッチサーバの場合,グローバルトランザクションは使用できません。ローカルトランザクションを使用します。このため,ローカルトランザクションに最適化された環境を提供する,ライトトランザクション機能を使用します。パラメタの値は必ずfalseを指定してください。なお,このパラメタはデフォルトの設定がfalseのため,変更しないでください。
任意
明示管理ヒープ機能を無効にする設定
add.jvm.arg
このパラメタはJDK11を使用する場合だけ指定できます。
明示管理ヒープ機能を使用するかどうかを指定します。
バッチサーバの場合,明示管理ヒープ機能を使用しないときは,明示管理ヒープ機能を無効にすることをお勧めします。明示管理ヒープ機能を無効にするには,パラメタの値に-XX:-HitachiUseExplicitMemoryを指定してください。デフォルトの設定の場合,明示管理ヒープ機能は有効(-XX:+HitachiUseExplicitMemory)です。
任意
実サーバ名の設定
realservername
バッチサーバの実サーバ名を指定します。実サーバ名は,同一ホスト内でユニークになるように指定してください。省略した場合は,論理サーバ名が設定されます。
任意
JavaVM終了メソッド呼び出し時のJavaVMの動作設定
ejbserver.batch.application.exit.enabled
次のJavaVM終了メソッドをバッチアプリケーションで呼び出した時に,JavaVMを終了するかどうかを指定します。
-
java.lang.System.exit(int)
-
java.lang.Runtime.exit(int)
-
java.lang.Runtime.halt(int)
デフォルトは「true」(JavaVMを終了しないでバッチアプリケーションのスレッドを終了する)です。「false」を指定すると,JavaVM終了メソッドの呼び出し時に,バッチサーバごとJavaVMが終了されます。詳細については,マニュアル「アプリケーションサーバ 機能解説 拡張編」の「2.3.7 バッチアプリケーションの実装(バッチアプリケーションの作成規則)」を参照してください。
任意
-
-
バッチアプリケーションのスケジューリング機能を使用するための設定
バッチアプリケーションのスケジューリング機能を使用する場合,物理ティアの種類にctm-tierを定義します。この場合,バッチサーバとして動作するための設定に加えて,バッチアプリケーションのスケジューリング機能の設定が必要です。これらの設定は,各論理サーバの<configuration>タグ内に指定します。
バッチサーバとバッチアプリケーションのスケジューリング機能に関する定義を次の表に示します。
表4‒35 バッチサーバとバッチアプリケーションのスケジューリング機能に関する定義 論理サーバの種類
項目
パラメタ
設定内容
必須または任意
論理CTM(component-transaction-monitor)
ORBゲートウェイ機能を使用する設定
ctm.Agent
CTMレギュレータのORBゲートウェイ機能を使用するかどうかを指定します。
スケジューリング機能を使用する場合,CTMレギュレータのORBゲートウェイ機能を使用します。パラメタの値は必ず1を指定してください。
必須
CTMを識別するための設定
ctmid
CTM識別子を指定します。運用管理ドメイン内でユニークな値を設定する必要があります。CTM識別子の設定は省略できます。
任意
論理J2EEサーバ(j2ee-server)
バッチサーバとしてサーバを構築するための設定
batch.service.enabled
バッチサーバとして構築するかどうかを指定します。パラメタの値は必ずtrueを指定してください。
必須
SecurityManagerを使用しない設定
use.security
バッチサーバの起動時にSecurityManagerを使用するかどうかを指定します。パラメタの値は必ずfalseを指定してください。
必須
ライトトランザクション機能を有効にするための設定
ejbserver.distributedtx.XATransaction.enabled
グローバルトランザクションを使用するかどうかを指定します。バッチサーバの場合,グローバルトランザクションは使用できません。ローカルトランザクションを使用します。このため,ローカルトランザクションに最適化された環境を提供する,ライトトランザクション機能を使用します。パラメタの値は必ずfalseを指定してください。なお,このプロパティはデフォルトの設定がfalseのため,変更しないでください。
必須
スマートエージェントを使用する設定
vbroker.agent.enableLocator
スマートエージェントを使用するかどうかを指定します。
スケジューリング機能を使用する場合,スマートエージェントを使用します。パラメタの値は必ずtrueを指定してください。
必須
明示管理ヒープ機能を無効にする設定
add.jvm.arg
このパラメタはJDK11を使用する場合だけ指定できます。
明示管理ヒープ機能を使用するかどうかを指定します。
バッチサーバの場合,明示管理ヒープ機能を使用しないときは,明示管理ヒープ機能を無効にすることをお勧めします。明示管理ヒープ機能を無効にするには,パラメタの値に-XX:-HitachiUseExplicitMemoryを指定してください。デフォルトの設定の場合,明示管理ヒープ機能は有効(-XX:+HitachiUseExplicitMemory)です。
任意
実サーバ名の設定
realservername
バッチサーバの実サーバ名を指定します。
実サーバ名は,同一ホスト内でユニークになるように指定してください。省略した場合は,論理サーバ名が設定されます。
任意
JavaVM終了メソッド呼び出し時のJavaVMの動作設定
ejbserver.batch.application.exit.enabled
次のJavaVM終了メソッドをバッチアプリケーションで呼び出した時に,JavaVMを終了するかどうかを指定します。
-
java.lang.System.exit(int)
-
java.lang.Runtime.exit(int)
-
java.lang.Runtime.halt(int)
デフォルトは「true」(JavaVMを終了しないでバッチアプリケーションのスレッドを終了する)です。「false」を指定すると,JavaVM終了メソッドの呼び出し時に,バッチサーバごとJavaVMが終了されます。詳細については,マニュアル「アプリケーションサーバ 機能解説 拡張編」の「2.3.7 バッチアプリケーションの実装(バッチアプリケーションの作成規則)」を参照してください。
任意
スケジュールグループ名の設定
ejbserver.batch.schedule.group.name
CTMによって管理されるバッチサーバ群のスケジュールグループ名を指定します。デフォルトではJOBGROUPが設定されます。
CTMは,スケジュールグループごとにバッチアプリケーションの実行をスケジューリングします。
複数のスケジュールグループを使用してスケジュールキューを分ける場合には,バッチサーバごとにスケジュールグループ名を設定してください。
任意
スケジュールキューの長さの設定
ejbserver.batch.queue.length
CTMで作成されるスケジュールキューの長さを指定します。デフォルトでは50が設定されます。
任意
-
-
バッチアプリケーションのスケジューリング機能を使用する場合に,複数のバッチサーバを配置するときは,物理ティアの定義で,1ホストに配置するバッチサーバの数を設定します。
複数のバッチサーバを配置する場合も,物理ティアおよびサービスユニットの定義で,コンフィグレーションを定義できます。バッチサーバのコンフィグレーション定義の適用範囲を次の図に示します。
図4‒11 バッチサーバのコンフィグレーション定義の適用範囲 この図の場合に,各サービスユニットのバッチサーバごとに適用されるコンフィグレーション定義を次の表に示します。
表4‒36 各サービスユニットのバッチサーバごとに適用されるコンフィグレーション定義 サービスユニット
バッチサーバ
適用されるコンフィグレーション定義
unit1
バッチサーバ(1A)
-
サービスユニットの定義(特定のバッチサーバの定義)
-
物理ティアの定義(バッチサーバ全体で共通の定義)
バッチサーバ(1B)
物理ティアの定義(バッチサーバ全体で共通の定義)
この表のように,バッチサーバごとに適用されるコンフィグレーション定義が複数ある場合,各定義で同じパラメタを指定したときは,次の1.,2.の順に優先して適用されます。
-
サービスユニットの定義(特定のバッチサーバの定義)
-
物理ティアの定義(バッチサーバ全体で共通の定義)
-
-
バッチサーバでは負荷分散機(<load-balancer>タグ)を使用しません。