ここでは,CTMを使用するパターン(ctm-tier)を簡易構築定義ファイルで作成する方法について説明します。また,JP1/SC/DPMの利用,複数サービスユニットの配置などを設定する場合は,「10.8.3 各構成定義パターンで使用できる設定と簡易構築定義ファイルの作成」を参照してください。
簡易構築定義ファイルでは,次の定義が必要になります。
複数のバッチサーバを配置する場合も,物理ティアおよびサービスユニットの定義で,コンフィグレーションを定義できます。バッチサーバのコンフィグレーション定義の適用範囲を次の図に示します。
図10-8 バッチサーバのコンフィグレーション定義の適用範囲
この図の場合に,各サービスユニットのバッチサーバごとに適用されるコンフィグレーション定義を次の表に示します。
表10-7 各サービスユニットのバッチサーバごとに適用されるコンフィグレーション定義
サービスユニット | バッチサーバ | 適用されるコンフィグレーション定義 |
---|---|---|
unit1 | バッチサーバ(1A) |
|
バッチサーバ(1B) | 物理ティアの定義(バッチサーバ全体で共通の定義) |
この表のように,バッチサーバごとに適用されるコンフィグレーション定義が複数ある場合,各定義で同じパラメタを指定したときは,次の1.,2.の順に優先して適用されます。
バッチアプリケーションのスケジューリング機能を使用する場合には,次の設定が必要です。
これらの設定は,各論理サーバの<configuration>タグ内に指定します。
バッチサーバとバッチアプリケーションのスケジューリング機能に関する定義を次の表に示します。
表10-8 バッチサーバとバッチアプリケーションのスケジューリング機能に関する定義
論理サーバの種類 | 項目 | パラメタ | 設定内容 | 必須または任意 |
---|---|---|---|---|
論理CTM(component-transaction-monitor) | ORBゲートウェイ機能を使用する設定 | ctm.Agent | CTMレギュレータのORBゲートウェイ機能を使用するかどうかを指定します。 スケジューリング機能を使用する場合,CTMレギュレータのORBゲートウェイ機能を使用します。パラメタの値は必ず1を指定してください。 | 必須 |
論理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 | 明示管理ヒープ機能を使用するかどうかを指定します。 バッチサーバの場合,明示管理ヒープ機能を使用しないときは,明示管理ヒープ機能を無効にすることをお勧めします。明示管理ヒープ機能を無効にするには,パラメタの値に-XX:-HitachiUseExplicitMemoryを指定してください。デフォルトの設定の場合,明示管理ヒープ機能は有効(-XX:+HitachiUseExplicitMemory)です。 | 任意 | |
実サーバ名の設定 | realservername | バッチサーバの実サーバ名を指定します。省略した場合は,論理サーバ名が設定されます。 | 任意 | |
JavaVM終了メソッド呼び出し時のJavaVMの動作設定 | ejbserver.batch.application.exit.enabled | 次のJavaVM終了メソッドをバッチアプリケーションで呼び出した時に,JavaVMを終了するかどうかを指定します。
| 任意 | |
スケジュールグループ名の設定 | ejbserver.batch.schedule.group.name | CTMによって管理されるバッチサーバ群のスケジュールグループ名を指定します。デフォルトではJOBGROUPが設定されます。 CTMは,スケジュールグループごとにバッチアプリケーションの実行をスケジューリングします。 複数のスケジュールグループを使用してスケジュールキューを分ける場合には,バッチサーバごとにスケジュールグループ名を設定してください。 | 任意 | |
スケジュールキューの長さの設定 | ejbserver.batch.queue.length | CTMで作成されるスケジュールキューの長さを指定します。デフォルトでは50が設定されます。 | 任意 |
(凡例)必須:必ず指定してください。 任意:必要に応じて設定してください。
簡易構築定義ファイルの作成例で使用する構成情報について説明します。CTMを使用するパターン(ctm-tier)の構成情報の例を次の図に示します。ここでは,アプリケーションサーバには,バッチサーバを二つ配置する例を使用します。
図10-9 CTMを使用するパターン(ctm-tier)の構成情報の例
図10-9の構成情報に従って,簡易構築定義ファイルを作成します。なお,この例では,テンプレートファイルをコピーし,ファイル名を「MyWebSystemDef.xml」に変更して作成します。
MyWebSystemDef.xmの作成例を次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<model-definition xmlns="http://www.cosminexus.com/mngsvr/schema/ModelDefinition-2.5">
<!-- Webシステムの属性定義 -->
<web-system>
<name>MyWebSystem</name>
<!-- 物理ティアの定義 -->
<tier>
<tier-type>ctm-tier</tier-type>
<j2ee-server-count>2</j2ee-server-count>
<configuration>
<logical-server-type>component-transaction-monitor</logical-server-type>
<param>
<param-name>ctm.Agent</param-name>
<param-value>1</param-value>
</param>
</configuration>
<configuration>
<logical-server-type>j2ee-server</logical-server-type>
<param>
<param-name>batch.service.enabled</param-name>
<param-value>true</param-value>
</param>
<param>
<param-name>use.security</param-name>
<param-value>false</param-value>
</param>
<param>
<param-name>add.jvm.arg</param-name>
<param-value>-XX:-HitachiUseExplicitMemory</param-value>
</param>
<param>
<param-name>vbroker.agent.enableLocator</param-name>
<param-value>true</param-value>
</param>
<param>
<param-name>ejbserver.batch.schedule.group.name</param-name>
<param-value>JOBGROUP</param-value>
</param>
<param>
<param-name>ejbserver.batch.queue.length</param-name>
<param-value>50</param-value>
</param>
</configuration>
</tier>
<!-- サービスユニットの定義 -->
<unit>
<name>unit1</name>
<allocated-host>
<host-ref>apsv1</host-ref>
<hosts-for>ctm-tier</hosts-for>
<define-server>
<logical-server-name>BatchServer1</logical-server-name>
<logical-server-type>j2ee-server</logical-server-type>
<server-no>1</server-no>
<configuration>
<param>
<param-name>ejbserver.http.port</param-name>
<param-value>8081</param-value>
</param>
<param>
<param-name>webserver.connector.ajp13.port</param-name>
<param-value>8017</param-value>
</param>
<param>
<param-name>ejbserver.rmi.naming.port</param-name>
<param-value>23152</param-value>
</param>
<param>
<param-name>ejbserver.naming.port</param-name>
<param-value>901</param-value>
</param>
<param>
<param-name>ejbserver.distributedtx.recovery.port</param-name>
<param-value>20312</param-value>
</param>
</configuration>
</define-server>
<define-server>
<logical-server-name>BatchServer2</logical-server-name>
<logical-server-type>j2ee-server</logical-server-type>
<server-no>2</server-no>
<configuration>
<param>
<param-name>ejbserver.http.port</param-name>
<param-value>8082</param-value>
</param>
<param>
<param-name>webserver.connector.ajp13.port</param-name>
<param-value>8027</param-value>
</param>
<param>
<param-name>ejbserver.rmi.naming.port</param-name>
<param-value>23252</param-value>
</param>
<param>
<param-name>ejbserver.naming.port</param-name>
<param-value>902</param-value>
</param>
<param>
<param-name>ejbserver.distributedtx.recovery.port</param-name>
<param-value>20322</param-value>
</param>
</configuration>
</define-server>
<define-server>
<logical-server-name>PRF</logical-server-name>
<logical-server-type>performance-tracer</logical-server-type>
</define-server>
</allocated-host>
</unit>
</web-system>
<!-- ホストの定義 -->
<host>
<host-name>apsv1</host-name>
<agent-host>192.168.100.11</agent-host>
</host>
</model-definition>