2.2. バッチドメイン

2.2.1. ドメインが使用するポートを変更する

2.2.1.1. ドメイン管理ポートを変更する

前提条件
実行手順
  1. ${AS_INSTALL}/bin/配下、otxadmin setコマンドを使用し、JMX Remoteで使用するポート番号 (CLIName : server.admin-service.jmx-connector.system.port) に変更後のポート番号を設定します。
    ./otxadmin set <<接続オプション>> server.admin-service.jmx-connector.system.port=<Port>
  2. ${AS_INSTALL}/bin/配下、otxadmin setコマンドを使用し、BSライフサイクルモジュールのdomain.port  (CLIName : server.applications.lifecycle-module.BSLifecycle.property.domain.port) に変更後のポート番号を設定します。
  3. 設定を反映させるために、ドメインを再起動する必要があります。
    ${AS_INSTALL}/bin/配下、otxadmin stop-domainコマンド、otxadmin start-domainコマンドを使用し、ドメインを再起動します。
  4. ポート番号変更の確認は、${AS_INSTALL}/bin/配下、otxadmin getコマンドを実行することで可能です。 同時に、接続オプションとして変更後のポート番号を指定することで、変更後のポート番号でドメインに接続できることを確認してください。
参照

2.2.1.2. JMXMPプロトコルのドメイン管理ポートを使用する

前提条件

ドメインの定義に JMXMPプロトコル用JMXコネクタ : system-option が存在しているかどうかは、 以下のコマンドを実行して、属性値を取得することができるかどうかで確認することができます。 system-optionが存在しない場合、コマンドが失敗します。

./otxadmin get <<接続オプション>> server.admin-service.jmx-connector.system-option.*

ドメインの定義に JMXMPプロトコル用JMXコネクタ : system-option が存在していない場合、以下の1 〜 4の手順により、JMXMPプロトコルのドメイン管理ポートを使用可能にしてください。 system-option が存在する場合はJMXMPコネクタの有効化手順の項に従って有効化の設定を実施してください。

  1. ${AS_INSTALL}/bin/配下、otxadmin stop-domainコマンドを使用し、ドメインを停止します。
    ./otxadmin stop-domain <domainName>
  2. ${DOMAIN_HOME}/config/domain.xmlのバックアップを取ります
    # cp <DOMAIN_HOME>/config/domain.xml <DOMAIN_HOME>/config/domain.xml.back
  3. テキストエディタで${DOMAIN_HOME}/config/domain.xmlを編集し、下記の修正を行います。
    ${DOMAIN_HOME}/config/domain.xml
    修正前
      <domain >
        <configs>
          <config  name="server-config">
            <admin-service >
              <jmx-connector accept-all="false" access-log-enabled="true" address="0.0.0.0" auth-realm-name="osuser-realm" enabled="true" name="system" port="6312" protocol="rmi_jrmp" security-enabled="false">
    
    修正後
      <domain >
        <configs>
          <config  name="server-config">
            <admin-service >
              <jmx-connector accept-all="false" access-log-enabled="true" address="0.0.0.0" auth-realm-name="osuser-realm" enabled="true" name="system" port="6312" protocol="rmi_jrmp" security-enabled="false">
              <jmx-connector accept-all="false" access-log-enabled="true" address="0.0.0.0" auth-realm-name="osuser-realm" enabled="true" name="system-option" port="6812" protocol="jmxmp" security-enabled="true"/>
    
  4. ${AS_INSTALL}/bin/配下、otxadmin start-domainコマンドを使用し、ドメインを起動します。
    ./otxadmin start-domain <domainName>
JMXMPコネクタの有効化手順
JMXMPを利用してドメインに接続する
プロトコルJMXMPを利用する手順について説明します。
  1. JMXMPコネクタを有効化します。

    JMXMPを有効にするために、以下のコマンドを実行してください。

    ./otxadmin set <<接続オプション>> server.admin-service.jmx-connector.system-option.enabled=true
  2. ${DOMAIN_HOME}/config/server.policyのバックアップを取ります。
    # cp <DOMAIN_HOME>/config/server.policy <DOMAIN_HOME>/config/server.policy.back
  3. テキストエディタで${DOMAIN_HOME}/config/server.policyを編集し、下記の修正を行います。
    ${DOMAIN_HOME}/config/server.policy
    修正前
         59     // for JMX Remote API
         60     //permission javax.management.MBeanPermission "*", "*";
         61     permission javax.management.MBeanServerPermission "*";
    
    修正後
         59     // for JMX Remote API  
         60     permission javax.management.MBeanPermission "*", "*";
         61     permission javax.management.MBeanServerPermission "*";
    
  4. ドメインを再起動します。

    ドメインを再起動することで、JMXMPプロトコル用JMXコネクタが有効化されます。

  5. otxadminコマンドを実行します。

    JMXMPを利用してドメインに接続するには、コマンドに--protocolオプションでjmxmpを指定してください。
    また、JMXMPプロトコル用JMXコネクタ:system-optionの属性security-enabledがtrueの場合、さらに--secureオプションでtrueを指定する必要があります。 なお、security-enabledはotxadminコマンドとサーバ側のjmxmpコネクタ間の通信の暗号化の有無を設定する属性です。
    以下にコマンドの実行例を示します。

    コマンド実行例 (security-enabled="true"の場合)
    ./otxadmin <サブコマンド> <<接続オプション>> --protocol=jmxmp --secure=true
    コマンド実行例 (security-enabled="false"の場合)
    ./otxadmin <サブコマンド> <<接続オプション>> --protocol=jmxmp
注意事項
参照

2.2.1.3. Nativeコマンドからのリクエスト受信用ポート番号を変更する

前提条件
実行手順
  1. ${AS_INSTALL}/bin/配下、otxadmin setコマンドを使用し、Nativeコマンドからのリクエスト受信用ポート (CLIName : server.applications.lifecycle-module.BSLifecycle.property.domain.http.port) に変更後のポート番号を設定します。
  2. 設定を反映させるために、ドメインを再起動する必要があります。
    ${AS_INSTALL}/bin/配下、otxadmin stop-domainコマンド、otxadmin start-domainコマンドを使用し、ドメインを再起動します。
  3. ポート番号変更の確認は、${AS_INSTALL}/bin/配下、otxadmin getコマンドを実行することで可能です。
参照

2.2.2. 実行環境のホスト名/IPアドレスを変更する

前提条件
  1. バッチドメインが停止していること
  2. WebOTX管理ユーザであること
実行手順
  1. WebOTX Application Serverのドメイン構築・基本設定ガイド-ホスト名の変更を参照し、
    バッチドメインのホスト名を変更します
参照

2.2.3. 権限管理

2.2.3.1. ユーザにロールを割り当てる

前提条件
  1. バッチドメインが正常に起動していること
  2. ロールの割り当て対象ユーザがOSに定義されていること
実行手順
  1. ${AS_INSTALL}/bin/otxadmin set-bs-role-mappingコマンドを使用し、ユーザに ロール を割り当てます。
    otxadmin set-bs-role-mapping <<接続オプション>> --account <UserName> --roles <ロール名>
  2. ユーザの割り当てたロールを確認するには、${AS_INSTALL}/bin/otxadmin get-bs-role-mappingコマンドを使用します。
    otxadmin get-bs-role-mapping <<接続オプション>> --account <UserName>
参照

2.2.3.2. JobExecutorロールの実行可能ジョブを制限する

既定値ではJobExecutorロールが割り当てられたユーザは、全てのジョブを実行することができます。
あるジョブの実行を特定のユーザに限定する場合の制限の仕方を説明します。

前提条件
  1. バッチドメインが正常に起動していること
実行手順
  1. ${AS_INSTALL}/bin/otxadmin delete-bs-jobexecution-permissionコマンドを使用し、実行を制限するジョブをJobExecutorロールから除外します。
    otxadmin delete-bs-jobexecution-permission <<接続オプション>> --jobexecutor [--batchapgroup batchApplicationGroupName] [--batchap batchApplicationName] [--jobname jobName]
    
  2. JobExecutorロールが実行可能なジョブを確認するには、${AS_INSTALL}/bin/otxadmin list-bs-jobexecution-permissionsコマンドを使用します。
    otxadmin list-bs-jobexecution-permissions <<接続オプション>>
参照

2.2.3.3. ユーザに個別のジョブ実行件を付与する

前提条件
  1. バッチドメインが正常に起動していること
実行手順
  1. ${AS_INSTALL}/bin/otxadmin add-bs-jobexecution-permissionコマンドを使用し、ユーザに対し個別のジョブ実行権を付与します
    ./otxadmin add-bs-jobexecution-permission <<接続オプション>> --account <UserName> --batchapgroup <バッチアプリケーショングループ名> --batchap <バッチアプリケーション名> --jobname <ジョブ名>
参照

2.2.4. スレッドプールの属性値を変更する

2.2.4.1. コンテナデフォルトBatchWorkThreadManagerのスレッドプール設定を変更

前提条件
  1. バッチドメインが正常に起動していること
  2. バッチコンテナが正常に起動していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
  1. ${AS_INSTALL}/bin/配下で、otxadmin setコマンドを使用してデフォルトで動作するWorkManagerの最大スレッド数を指定します。
    ./otxadmin set <<接続オプション>> domain.bssystem.batch-containers.<バッチコンテナ名>.defaultWorkManagerMaxThread=<最大スレッド数>
参照

2.2.5. バッチドメインのログ出力設定を変更する

2.2.5.1. バッチドメインのGCログ出力を有効/無効にする

前提条件
  1. バッチドメインが正常に起動していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
  1. ${AS_INSTALL}/bin/配下、otxadmin setコマンドを使用し、
    server.java-config.verbose-gc-enabledの値をtrueにすることでGCログ出力を有効にします
    ./otxadmin set <<接続オプション>> server.java-config.verbose-gc-enabled=true
    server.java-config.verbose-gc-enabledの値をfalseにすることでGCログ出力を無効にします
    ./otxadmin set <<接続オプション>> server.java-config.verbose-gc-enabled=false
  2. 任意のファイルにGCログ情報を出力するためには、次のコマンドを実行します
    ./otxadmin set <<接続オプション>> server.java-config.gc-logfile="<LogFilePath>"
統合運用管理ツールを利用する場合
  1. バッチドメインに接続します
  2. 左ペインから以下のノードを選択します
    左ペイン
  3. 右ペインの[GC]タブ内の「GC情報の出力」にチェックを入れることでGCログ出力を有効にします
    右ペイン [GC]タブ 「GC情報の出力」のチェックを外すことでGCログ出力を無効にします
  4. 右ペインの[GC]タブ内の「GC情報の出力先」にファイル出力先のフルパスを入力することで任意の出力先にGCログを出力します
    右ペイン [GC]タブ 「GC情報の出力先」にファイル名のみを入力した場合、${INSTANCE_ROOT}/config配下にファイル出力します
  5. 「更新」を押下します
注意事項
参照

2.2.5.2. バッチドメインのログ設定を変更する

前提条件
  1. バッチドメインが停止していること
実行手順
ログレベルを変更する
  1. テキストエディタを使用して、以下のファイル内に設定されている各loggerのloglevelを修正します
  2. バッチドメインを起動します。
ログのローテートサイズを変更する
  1. テキストエディタを使用して、以下のファイル内で設定されているappenderの要素"maxFileSize"と"maxBackupIndex" を修正します
    例えば、${DOMAIN_HOME}/config/log4otx.xmlに記述されているBSAGENTLOG appenderに対して
    10MBを越えると最大20ファイルまでバックアップするログの設定を行う場合は以下のように設定します
    <class="com.nec.webotx.org.apache.log4j.RollingFileAppender"
        appender name="BSAGENTLOG">
        <value="${com.nec.webotx.instanceRoot}/logs/batch/agent/agent.log" param name="File" />
        <param value="10MB" name="maxFileSize" />
        <param value="20" name="maxBackupIndex" />
        ...
    </appender>
    		
  2. バッチドメインを起動します。
ログのローテート種別を日次に変更する
  1. テキストエディタを使用して、以下のファイル内で設定されているappenderのクラス名を修正します
    例えば、${DOMAIN_HOME}/config/log4otx.xmlに記述されているBSAGENTLOG appenderに対して
    日次でyyyy-MM-ddのサフィックスを追加してログをバックアップする場合は以下のように設定します
    <class="com.nec.webotx.org.apache.log4j.DailyRollingFileAppender"
        appender name="BSAGENTLOG">
        <param value="yyyy-MM-dd" name="datePattern" />
        <value="${com.nec.webotx.instanceRoot}/logs/batch/agent/agent.log" param name="File" />
        ...
    </appender>
    		
  2. バッチドメインを起動します。
注意事項
参照

2.2.5.3. バッチドメインのログ出力を抑制する

前提条件
  1. バッチドメインが停止していること
実行手順
  1. テキストエディタを使用して、
    ${DOMAIN_HOME}/config/batch/logging/message.denyに 抑制するログのメッセージIDの、プレフィックスを除いた下6桁を記述します。
    例えば[BS240019101]と、[BS240019102]のメッセージを抑止したい場合
    019101
    019102
    #019103
    を設定します。
    1行に1メッセージIDとして記述します。また、各行の1文字目に#をつけることでコメントとみなすことができます。
注意事項
参照

2.2.5.4. バッチドメインのログをOSログに出力する

前提条件
  1. バッチドメインが停止していること
実行手順
バッチドメインのログをOSログに出力する
  1. テキストエディタを使用して、${DOMAIN_HOME}/config/log4otx.xmlに設定されている各loggerにOSログ出力用のappenderを紐づけます
    紐づけるappenderは以下の通りです 例えば、Linux環境の下、"com.nec.webotx.batch"loggerが出力するログをOSログに出力したい場合は以下のように設定します
    10MBを越えると最大20ファイルまでバックアップするログの設定を行う場合は以下のように設定します
    <logger name="com.nec.webotx.batch" additivity="false">
            <level value="CONFIG" class="com.nec.webotx.logging.OTXLogLevel"></level>
            <appender-ref ref="BSAGENTLOG" />
            <appender-ref ref="SYSLOG" />
    </logger>
    		
  2. バッチドメインを起動します。
OSログに出力するログのレベルを変更する
  1. テキストエディタを使用して、${DOMAIN_HOME}/config/log4otx.xmlのOSログ出力用appenderに対し、thresholdを設定します
    OSログ出力用appenderは以下の通りです 例えば、Linux環境の下、OSログの出力ログレベルをERRORレベルとFATALレベルに制限したい場合は以下のように設定します
    <appender class="com.nec.webotx.logging.OTXSyslogAppender"
            name="SYSLOG">
            <param value="localhost" name="SyslogHost"></param>
            <param value="user" name="Facility"></param>
            <layout class="com.nec.webotx.org.apache.log4j.PatternLayout">
                    <param value="%m (%c)" name="ConversionPattern"></param>
            </layout>
            <param value="ERROR" name="threshold"></param>
    </appender>
     		
  2. バッチドメインを起動します。
注意事項
参照

2.2.6. ライフサイクルモジュールを設定する

2.2.6.1. ライフサイクルモジュールを作成する

実行手順
参照

2.2.6.2. ライフサイクルモジュールを登録する

前提条件
  1. バッチドメインが起動していること
実行手順
  1. WebOTX Application Serverの アプリケーション開発ガイドを参考に
    ${AS_INSTALL}/bin/配下で、otxadmin create-lifecycle-moduleコマンドを使用してライフサイクルモジュールを配備します。
参照

2.2.6.3. ライフサイクルモジュールを登録解除する

前提条件
  1. バッチドメインが起動していること
実行手順
  1. WebOTX Application Serverの アプリケーション開発ガイドを参考に
    ${AS_INSTALL}/bin/配下で、otxadmin delete-lifecycle-moduleコマンドを使用してライフサイクルモジュールを登録解除します。
参照

2.2.7. データソースを設定する

2.2.7.1. アカウント共通のデータソースを設定する

前提条件
  1. バッチドメインが正常に起動していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
  1. ASマニュアル確認
  2. ${AS_INSTALL}/bin/配下、otxadmin create-jdbc-datasourceコマンドを使用してデータソースを登録します
    otxadmin create-jdbc-datasource <<接続オプション>> --dataSourceType <DataSourceType> --jdbcMajorVersion <Version> --useJTA=<true/false> --jdbcUserName <JdbcUserName> --jdbcPassword <JdbcUserPassword> --serverName <DBServerName> --portNumber <DBServerPort> --dataSourceName <DataSourceName> <JdbcDataSourceName>
  3. ${AS_INSTALL}/bin/配下、otxadmin bind-bs-jrc-jdbc-datasourceコマンドを使用してデータソースをBeanにマッピングしジョブ内から利用可能な状態にします。
    otxadmin bind-bs-jrc-jdbc-datasource <<接続オプション>> <dataSourceBeanName>=<dataSourceJndiName>
統合運用管理ツールを利用する場合
  1. バッチドメインに接続します
  2. 左ペインから以下のノードを選択します
    左ペイン
  3. 右クリックで表示されるメニューの中から、「JDBCデータソースの登録」メニューを選択します
  4. 「リソースの操作」画面が表示されますので、[一般]タブを選択し、登録するデータソース情報を入力します
  5. データソースをBeanにマッピングしジョブ内から利用可能な状態にします。
    左ペインから以下のノードを選択します
    左ペイン
  6. 右ペインの[コンテキスト]タブ内の「データソースとBean名のマッピング」に<dataSourceBeanName>=<dataSourceJndiName>を指定します
    右ペイン [コンテキスト]タブ
  7. 「更新」を押下します
注意事項
参照

2.2.7.2. アカウント毎のデータソースを設定する

前提条件
  1. バッチドメインが正常に起動していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
  1. ${AS_INSTALL}/bin/配下、otxadmin create-jdbc-datasourceコマンドを使用してデータソースを登録します
    otxadmin create-jdbc-datasource <<接続オプション>> --dataSourceType <DataSourceType> --jdbcMajorVersion <Version> --useJTA=<true/false> --jdbcUserName <JdbcUserName> --jdbcPassword <JdbcUserPassword> --serverName <DBServerName> --portNumber <DBServerPort> --dataSourceName <DataSourceName> <JdbcDataSourceName>
  2. ${AS_INSTALL}/bin/配下、otxadmin create-bs-jrcコマンドを使用して固有アカウントのジョブ実行リソースコンテキストを登録します
    otxadmin create-bs-jrc <<接続オプション>> --account <UserName>
  3. ${AS_INSTALL}/bin/配下、otxadmin bind-bs-jrc-jdbc-datasourceコマンドを使用してデータソースをBeanにマッピングしジョブ内から利用可能な状態にします。
    otxadmin bind-bs-jrc-jdbc-datasource <<接続オプション>> --account <UserName> <dataSourceBeanName>=<dataSourceJndiName>
  4. ${AS_INSTALL}/bin/配下、otxadmin setコマンドを使用してジョブリポジトリとして利用するデータソースを設定します。(既定値"dataSource"を変更する必要がある場合に実行します)
    otxadmin set <<接続オプション>> domain.bssystem.job-execution-resource.execution-context.<UserName>.jobRepositoryDataSourceBeanName <dataSourceBeanName>
統合運用管理ツールを利用する場合
  1. バッチドメインに接続します
  2. データソースの登録を行います
    左ペインから以下のノードを選択します
    左ペイン
  3. 右クリックで表示されるメニューの中から、「JDBCデータソースの登録」メニューを選択します
  4. 「リソースの操作」画面が表示されますので、[一般]タブを選択し、登録するデータソース情報を入力します
  5. 「実行」を押下します
  6. 左ペインから以下のノードを選択します
    左ペイン
  7. 右クリックで表示されるメニューの中から、「ジョブ実行リソースコンテキストの追加」メニューを選択します
  8. 「ジョブ実行リソースコンテキスト」画面が表示されますので、「アカウント名」に <UserName>を指定します
  9. 「実行」を押下します
  10. 左ペインから以下のノードを選択します
    左ペイン
  11. 右ペインの[コンテキスト]タブ内の「データソースとBean名のマッピング」に<dataSourceBeanName>=<dataSourceJndiName>をデータソースを指定します
    右ペイン [コンテキスト]タブ
  12. 「更新」を押下します
  13. 右ペインの[ジョブリポジトリ]タブ内の「ジョブリポジトリに利用するデータソースBean名」に<dataSourceBeanName>を指定します (既定値"dataSource"を変更する必要がある場合に実行します)
    右ペイン [ジョブリポジトリ]タブ
  14. 「更新」を押下します
注意事項
参照

2.2.8. ジョブリポジトリのセットアップ

2.2.8.1. ジョブリポジトリテーブルをセットアップする

前提条件
  1. バッチドメインが正常に起動していること
実行手順
  1. ${BS_HOME}/bin/配下、repoadmin setupコマンドを使用してジョブリポジトリテーブルをセットアップします
    インデックスの作成を行わない場合はnoIndexオプションを付与します
    ./repoadmin setup <<接続オプション>> --jndiName <JNDIName> --dbtype <DBType>
参照

2.2.8.2. ジョブリポジトリテーブルを初期化する

前提条件
  1. バッチドメインが正常に起動していること
実行手順
  1. ${BS_HOME}/bin/配下、repoadmin setupコマンドに--forceオプションを付与してジョブリポジトリテーブルを初期化します
    ./repoadmin setup <<接続オプション>> --jndiName <JNDIName> --dbtype <DBType> --force
参照

2.2.8.3. ジョブリポジトリテーブルを削除する

前提条件
  1. バッチドメインが正常に起動していること
実行手順
  1. ${BS_HOME}/bin/配下、repoadmin deleteコマンドを使用してジョブリポジトリテーブルを削除します
    ./repoadmin delete <<接続オプション>> --jndiName <JNDIName> --dbtype <DBType>
参照

2.2.8.4. ジョブ再実行可能な状態へジョブリポジトリを復旧する

前提条件
  1. バッチドメインが正常に起動していること
実行手順
  1. ${BS_HOME}/bin/配下、repoadmin recoverコマンドを使用してジョブ再実行可能な状態へジョブリポジトリを復旧します
    ./repoadmin recover <<接続オプション>> --jndiName <JNDIName> --dbtype <DBType> --jobExecutionId <JobExecutionID>
    ジョブリポジトリの復旧処理は以下のモードを提供します
注意事項
  1. INVALID_STEPモードでの復旧処理は、ステップの終了状態(BatchStatus)をFAILEDへ変更します。
    変更対象となるステップは、終了状態がCOMPLETED以外のステップです。これにより、リスタート実行時には、前回実行時に成功したステップはスキップし、 失敗したステップからリスタートを開始することが可能です。
  2. FORCEモードでの復旧処理は、対象ジョブ内の全ステップの状態(BatchStatus)がどのような状態でもFAILEDへ変更します
参照

2.2.8.5. コンフィグファイルを利用したジョブリポジトリの設定

前提条件
  1. WebOTX管理ドメイン(WebOTXAdmin)が正常に起動していること
  2. OS管理者の権限を持ったユーザであること
実行手順
  1. ${BS_HOME}/<バッチドメイン名>.propertiesを修正します。 設定方法の詳細は機能ガイドを参照してください。
  2. ${BS_HOME}/配下、setupDomain createコマンドを使用してバッチドメインを新規作成します。
    ./setupDomain create <DomainName> --edition <Edition>
参照