10.8.2 CTMを使用するパターン(ctm-tier)の簡易構築定義ファイルの作成

ここでは,CTMを使用するパターン(ctm-tier)を簡易構築定義ファイルで作成する方法について説明します。また,JP1/SC/DPMの利用,複数サービスユニットの配置などを設定する場合は,「10.8.3 各構成定義パターンで使用できる設定と簡易構築定義ファイルの作成」を参照してください。

●簡易構築定義ファイルで必要な定義

簡易構築定義ファイルでは,次の定義が必要になります。

複数のバッチサーバを配置する場合も,物理ティアおよびサービスユニットの定義で,コンフィグレーションを定義できます。バッチサーバのコンフィグレーション定義の適用範囲を次の図に示します。

図10-8 バッチサーバのコンフィグレーション定義の適用範囲

[図データ]

この図の場合に,各サービスユニットのバッチサーバごとに適用されるコンフィグレーション定義を次の表に示します。

表10-7 各サービスユニットのバッチサーバごとに適用されるコンフィグレーション定義

サービスユニットバッチサーバ適用されるコンフィグレーション定義
unit1バッチサーバ(1A)
  • サービスユニットの定義(特定のバッチサーバの定義)
  • 物理ティアの定義(バッチサーバ全体で共通の定義)
バッチサーバ(1B)物理ティアの定義(バッチサーバ全体で共通の定義)

この表のように,バッチサーバごとに適用されるコンフィグレーション定義が複数ある場合,各定義で同じパラメタを指定したときは,次の1.,2.の順に優先して適用されます。

  1. サービスユニットの定義(特定のバッチサーバの定義)
  2. 物理ティアの定義(バッチサーバ全体で共通の定義)
バッチアプリケーションのスケジューリング機能を使用するための設定

バッチアプリケーションのスケジューリング機能を使用する場合には,次の設定が必要です。

これらの設定は,各論理サーバの<configuration>タグ内に指定します。

バッチサーバとバッチアプリケーションのスケジューリング機能に関する定義を次の表に示します。

表10-8 バッチサーバとバッチアプリケーションのスケジューリング機能に関する定義

論理サーバの種類項目パラメタ設定内容必須または任意
論理CTM(component-transaction-monitor)ORBゲートウェイ機能を使用する設定ctm.AgentCTMレギュレータの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を終了するかどうかを指定します。
  • java.lang.System.exit(int)
  • java.lang.Runtime.exit(int)
  • java.lang.Runtime.halt(int)
デフォルトは「true」(JavaVMを終了しないでバッチアプリケーションのスレッドを終了する)です。「false」を指定すると,JavaVM終了メソッドの呼び出し時に,バッチサーバごとJavaVMが終了されます。詳細については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 拡張編」の「2.3.7 バッチアプリケーションの実装(バッチアプリケーションの作成規則)」を参照してください。
任意
スケジュールグループ名の設定ejbserver.batch.schedule.group.nameCTMによって管理されるバッチサーバ群のスケジュールグループ名を指定します。デフォルトではJOBGROUPが設定されます。
CTMは,スケジュールグループごとにバッチアプリケーションの実行をスケジューリングします。
複数のスケジュールグループを使用してスケジュールキューを分ける場合には,バッチサーバごとにスケジュールグループ名を設定してください。
任意
スケジュールキューの長さの設定ejbserver.batch.queue.lengthCTMで作成されるスケジュールキューの長さを指定します。デフォルトでは50が設定されます。任意

(凡例)必須:必ず指定してください。 任意:必要に応じて設定してください。


●構成情報の例

簡易構築定義ファイルの作成例で使用する構成情報について説明します。CTMを使用するパターン(ctm-tier)の構成情報の例を次の図に示します。ここでは,アプリケーションサーバには,バッチサーバを二つ配置する例を使用します。

図10-9 CTMを使用するパターン(ctm-tier)の構成情報の例

[図データ]

●簡易構築定義ファイルの作成例

図10-9の構成情報に従って,簡易構築定義ファイルを作成します。なお,この例では,テンプレートファイルをコピーし,ファイル名を「MyWebSystemDef.xml」に変更して作成します。

MyWebSystemDef.xmの作成例を次に示します。

MyWebSystemDef.xmlファイル

<?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>

注1 太字の部分が編集部分です。作成例で使用しているタグおよびパラメタについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「4.6 簡易構築定義ファイル」を参照してください。
注2 バッチサーバの場合,負荷分散機を使用しません。このため,テンプレートにある<load-balancer>タグの記述は削除してください。