2.5. バッチコンテナ
2.5.1. バッチコンテナの基本
2.5.1.1. バッチコンテナを新規に追加する
前提条件
- バッチドメインが正常に起動していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
- otxadmin add-bs-containerコマンドの引数にコンテナ名を指定して実行します。
./otxadmin add-bs-container <<接続オプション>> --container <コンテナ名>
統合運用管理ツールを利用する場合
- バッチドメインに接続します
- 左ペインから以下のノードを選択します
左ペイン
- 右クリックで表示されるメニューの中から、「コンテナの追加」メニューを選択します
- 「バッチコンテナの操作」画面が表示されます
- 「コンテナ名」に追加するバッチコンテナ名を入力します
- 「実行」ボタンを押下します
注意事項
- バッチコンテナが複数存在する環境では、ジョブリポジトリへのアクセスに関するトランザクションの分離レベルに ISOLATION_READ_COMMITTED を設定することを推奨します。
参照
- Application Server 運用・利用ガイド
- 運用・利用ガイド
- コマンドリファレンス
- 注意・制限事項
2.5.1.2. バッチコンテナを削除する
前提条件
- バッチドメインが正常に起動していること
- バッチコンテナが停止していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
- otxadmin remove-bs-containerコマンドの引数に削除したいバッチコンテナ名を指定して、実行します。
./otxadmin remove-bs-container <<接続オプション>> --container <バッチコンテナ名>
統合運用管理ツールを利用する場合
- バッチドメインに接続します
- 左ペインから以下のノードを選択します
左ペイン
- 右クリックで表示されるメニューの中から、「コンテナの削除」メニューを選択します
- 「バッチコンテナの操作」画面が表示されます
- 「コンテナ名」に削除するバッチコンテナ名を入力し、「実行」ボタンを押下します
参照
- Application Server 運用・利用ガイド
- 運用・利用ガイド
- コマンドリファレンス
2.5.1.3. バッチコンテナを起動する
前提条件
- バッチドメインが正常に起動していること
- バッチコンテナが停止していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
- otxadmin start-bs-containerコマンドの引数に起動させたいバッチコンテナ名を指定して、実行します。
./otxadmin start-bs-container <<接続オプション>> --container <バッチコンテナ名>
統合運用管理ツールを利用する場合
- バッチドメインに接続します
- 左ペインから以下のノードを選択します
左ペイン
- 右クリックで表示されるメニューの中から、「開始」メニューを選択します
- 「<コンテナ名>の操作」画面が表示されます
- 「実行」ボタンを押下します
参照
- Application Server 運用・利用ガイド
- 運用・利用ガイド
- コマンドリファレンス
2.5.1.4. バッチコンテナを停止する
前提条件
- バッチドメインが正常に起動していること
- バッチコンテナが起動していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
- otxadmin stop-bs-containerコマンドの引数に停止させるバッチコンテナ名を指定して、実行します。
./otxadmin stop-bs-container <<接続オプション>> --container <バッチコンテナ名>
統合運用管理ツールを利用する場合
- バッチドメインに接続します
- 左ペインから以下のノードを選択します
左ペイン
- 右クリックで表示されるメニューの中から、「停止」メニューを選択します
- 「<コンテナ名>の操作」画面が表示されますので、以下の項目に情報を設定します
- 停止モード : NORMAL | TRANSACTIONAL | FORCE から選択
- タイムアウト(秒) : 0以上の値を入力
- 「実行」を押下します
参照
- Application Server 運用・利用ガイド
- 運用・利用ガイド
- コマンドリファレンス
2.5.1.5. バッチコンテナの状態を確認する
前提条件
- バッチドメインが正常に起動していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
- otxadmin get-bs-container-statusコマンドの引数に状態を取得したいバッチコンテナ名を指定して、実行します。
./otxadmin get-bs-container-status <<接続オプション>> --container <バッチコンテナ名>
統合運用管理ツールを利用する場合
- バッチドメインに接続します
- 左ペインから以下のノードを選択します
左ペイン
- 右ペインの[属性]タブ内の「状態」項目を参照します
otxadminコマンドや統合運用管理ツールで表示される、バッチコンテナの状態とその説明については、「機能ガイド」 2.6 バッチコンテナの状態確認にある「バッチコンテナの状態」の表を参照してください。
参照
- Application Server 運用・利用ガイド
- 運用・利用ガイド
- コマンドリファレンス
2.5.1.6. バッチコンテナの一覧を参照する
前提条件
- バッチドメインが正常に起動していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
- otxadmin list-bs-containersコマンドを、実行します。
./otxadmin list-bs-containers <<接続オプション>>
統合運用管理ツールを利用する場合
- バッチドメインに接続します
- 左ペインから以下のノードを選択し、バッチコンテナの一覧を参照します
左ペイン
参照
- Application Server 運用・利用ガイド
- 運用・利用ガイド
- コマンドリファレンス
2.5.2. バッチコンテナの設定を変更する
2.5.2.1. バッチコンテナ、および、バッチドメインエージェントのクラスパスに任意のライブラリを追加する
バッチコンテナのjavaプロセスのクラスパス、および、バッチドメインエージェントのjavaプロセスのクラスパスに、任意のjarファイルを追加する手順です。
前提条件
- バッチドメイン、および、バッチコンテナが停止していること
実行手順
- ドメインエージェントのクラスパスへのライブラリ追加
クラスパスに追加するjarファイルを ${DOMAIN_HOME}/lib/配下に格納します。
例)usrlib.jar を ${DOMAIN_HOME}/lib/ に追加する
> cp SOME_DIR_PATH/usrlib.jar ${DOMAIN_HOME}/lib/
${DOMAIN_HOME}/lib/ 配下に格納したjarファイルは、ドメインエージェントの起動時に ドメインクラスローダ に読み込まれます
- バッチコンテナのクラスパスへのライブラリ追加
バッチコンテナ用の設定ファイル をテキストエディタ等で開き、環境変数 BS_CLASSPATH_PREFIX または BS_CLASSPATH_SUFFIX に手順:1 で配置したファイルへのパス を設定します
バッチコンテナ用の設定ファイル が存在しない場合、${DOMAIN_HOME}/containers/config.sample.cmd または .sh をコピーし、作成します
例)環境変数 BS_CLASSPATH_SUFFIX に ${DOMAIN_HOME} 配下に配置した usrlib.jar を追加する
BS_CLASSPATH_SUFFIX=${BS_CLASSPATH_SUFFIX}:${DOMAIN_HOME}/lib/usrlib.jar
注意
参照
- 定義ファイルリファレンス
- ${DOMAIN_HOME}/containers/
- WebOTX Application Server マニュアル
2.5.2.2. バッチコンテナ、および、バッチドメインエージェントのクラスパスにJDBCドライバを追加する
バッチコンテナのjavaプロセスのクラスパス、および、バッチドメインエージェントのjavaプロセスのクラスパスに、JDBCドライバのjarファイルを追加する手順です。
前提条件
- バッチドメイン、および、バッチコンテナが停止していること
実行手順
- ドメインエージェントのクラスパスへのライブラリ追加
クラスパスに追加するjarファイルを ${DOMAIN_HOME}/lib/ext/ の配下に格納します。
例)PostgreSQLのJDBCドライバ を ${DOMAIN_HOME}/lib/ext/ に追加する
> cp SOME_DIR_PATH/postgresql-8.4-701.jdbc4.jar ${DOMAIN_HOME}/lib/ext/
${DOMAIN_HOME}/lib/etx/ 配下に格納したjarファイルは、ドメインエージェントの起動時に 拡張クラスローダ に読み込まれます
JDBCドライバを格納したjarファイルは 拡張クラスローダ にロードさせる必要があります
- バッチコンテナのクラスパスへのライブラリ追加
バッチコンテナ用の設定ファイル をテキストエディタ等で開き、環境変数 BS_CLASSPATH_PREFIX または BS_CLASSPATH_SUFFIX に手順:1 で配置したファイルへのパス を設定します
バッチコンテナ用の設定ファイル が存在しない場合、${DOMAIN_HOME}/containers/config.sample.cmd または .sh をコピーし、作成します
例)環境変数 BS_CLASSPATH_SUFFIX に ${DOMAIN_HOME} 配下に配置した usrlib.jar と postgresql-8.4-701.jdbc4.jar を追加する
BS_CLASSPATH_SUFFIX=${BS_CLASSPATH_SUFFIX}:${DOMAIN_HOME}/lib/usrlib.jar
BS_CLASSPATH_SUFFIX=${BS_CLASSPATH_SUFFIX}:${DOMAIN_HOME}/lib/ext/postgresql-8.4-701.jdbc4.jar
注意
参照
- 定義ファイルリファレンス
- ${DOMAIN_HOME}/containers/
- WebOTX Application Server マニュアル
2.5.2.3. バッチコンテナプロセスのプロセス所有者を指定する
前提条件
- バッチドメインが正常に起動していること
- バッチコンテナが停止していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
- otxadmin setコマンドの引数にバッチコンテナ名とその所有者を指定して、実行します。
./otxadmin set <<接続オプション>> domain.bssystem.batch-containers.<バッチコンテナ名>.owner=<UserName>
統合運用管理ツールを利用する場合
- バッチドメインに接続します
- 左ペインから以下のノードを選択します
左ペイン
- 右ペインの[属性]タブ内の「プロセス所有者」の欄にバッチコンテナプロセス所有者のユーザ名を入力します
- 「更新」を押下します
参照
- Application Server 運用・利用ガイド
- 運用・利用ガイド
2.5.2.4. バッチドメイン起動時のバッチコンテナ自動起動の設定を変更する
前提条件
- バッチドメインが正常に起動していること
- バッチコンテナが停止していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
バッチコンテナを自動起動しない場合
- otxadmin setコマンドを使用し、
domain.bssystem.batch-containers.<バッチコンテナ名>.autoStartupの値をfalseに設定して実行します
./otxadmin set <<接続オプション>> domain.bssystem.batch-containers.<バッチコンテナ名>.autoStartup=false
バッチコンテナを自動起動する場合
- otxadmin setコマンドを使用し、
domain.bssystem.batch-containers.<バッチコンテナ名>.autoStartupの値をtrueに設定して実行します
./otxadmin set <<接続オプション>> domain.bssystem.batch-containers.<バッチコンテナ名>.autoStartup=true
統合運用管理ツールを利用する場合
- バッチドメインに接続します
- 左ペインから以下のノードを選択します
左ペイン
- 右ペインの[属性]タブ内の「自動起動」にあるチェックを外すことでバッチドメイン起動時にバッチコンテナを自動的に起動させないようにします
「自動起動」にチェックを入れるとバッチドメイン起動時にバッチコンテナを自動的に起動します
「自動起動」のチェックを外すとバッチドメイン起動時にバッチコンテナを起動しません
- 「更新」を押下します
参照
- Application Server 運用・利用ガイド
- 運用・利用ガイド
2.5.2.5. スレッドプールの属性値を変更する
前提条件
- バッチコンテナが停止していること
実行手順
- ${DOMAIN_HOME}/config/batch/threads.properties内の値を変更することでスレッドプールの属性値を変更します
参照
2.5.2.6. バッチコンテナのプロセス多重度を増加する
前提条件
- バッチドメインが正常に起動していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
- otxadmin increase-bs-container-processコマンドの引数にバッチコンテナプロセスの増加数を指定し、実行します。
増加数には、1〜 16の範囲の整数値を指定します。
./otxadmin increase-bs-container-process <<接続オプション>> --container <バッチコンテナ名> <増加数>
統合運用管理ツールを利用する場合
- バッチドメインに接続します
- 左ペインから以下のノードを選択します
左ペイン
- 右クリックで表示されるメニューの中から、「コンテナプロセスの追加」メニューを選択します
- 「<コンテナ名>の操作」画面が表示されます
- 「<コンテナ名>の操作」画面中の「追加プロセス数」の項目に増加するバッチコンテナプロセスの数を入力し、「実行」ボタンを押下します
参照
- Application Server 運用・利用ガイド
- 運用・利用ガイド
- コマンドリファレンス
2.5.2.7. バッチコンテナのプロセス多重度を減少する
- otxadmin decrease-bs-container-processコマンドの引数にバッチコンテナプロセスの減少数を指定し、実行します。
減少数には、1〜 16の範囲の整数値を指定します。
./otxadmin decrease-bs-container-process <<接続オプション>> --container <バッチコンテナ名> [--timeout <タイムアウト値>] <減少数(指定範囲 :1 〜 16)>
統合運用管理ツールを利用する場合
- バッチドメインに接続します
- 左ペインから以下のノードを選択します
左ペイン
- 右クリックで表示されるメニューの中から、「コンテナプロセスの削除」メニューを選択します
- 「<コンテナ名>の操作」画面が表示されます
- 「<コンテナ名>の操作」画面中の「削除プロセス数」の項目に減少するバッチコンテナプロセスの数を入力し、必要があれば「停止モード」と「タイムアウト」の値を変更します。最後に「実行」ボタンを押下します。
参照
- Application Server 運用・利用ガイド
- 運用・利用ガイド
- コマンドリファレンス
2.5.2.8. バッチコンテナのログ出力設定を変更する
2.5.2.8.1. バッチコンテナのGCログ出力を有効/無効にする
前提条件
- バッチコンテナが停止していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
- otxadmin setコマンドを使用してバッチコンテナの起動時にGCログ出力を有効にします
./otxadmin set <<接続オプション>> domain.bssystem.batch-containers.<バッチコンテナ名>.<ContainerSequenceNumber>.additionalJavaOptions=-verbose:gc -Xloggc:'<GCLogFilePath>' -XX:+PrintHeapAtGC
無効にする場合は、 -verbose:gc -Xloggc:'<GCLogFilePath>' -XX:+PrintHeapAtGC オプションを削除します
統合運用管理ツールを利用する場合
- バッチドメインに接続します
- 左ペインから以下のノードを選択します
左ペイン
- 右ペインの[属性]タブ内の「起動時Javaオプション」の項目に対し、「追加」を押下します
右ペイン [属性]タブ
- 「起動時Javaオプションの追加」画面が表示されるため、 -verbose:gc -Xloggc:'<GCLogFilePath>' -XX:+PrintHeapAtGC を追加し
バッチコンテナのGCログ出力を有効にします
- 「更新」を押下します
注意事項
- 複数のバッチコンテナプロセスを持つバッチコンテナに対して「起動時Javaオプション」でGCログ出力するためのオプションを設定すると、
全てのバッチコンテナプロセスに対し起動時Javaオプションが付与されてしまい、同一ファイルに複数のバッチコンテナプロセスがアクセスします
そのため、GCログを取得する場合はバッチコンテナプロセス毎に起動時Javaオプションを付与してください
参照
- Application Server 運用・利用ガイド
- 運用・利用ガイド
2.5.2.8.2. バッチコンテナのログ設定を変更する (コンテナ共通の設定)
前提条件
- バッチドメインが起動していること
実行手順
ログ設定を変更する
- 運用管理コマンド(otxadmin)を利用する場合
- otxadmin setコマンドを使用してバッチコンテナのログ設定を変更します。
./otxadmin set <<接続オプション>> domain.bssystem.batch-containers.<属性名>=<設定値>
domain.bssystem.batch-containers.<属性名> = <設定値>
- 統合運用管理ツールを利用する場合
- バッチドメインに接続します
- 左ペインから以下のノードを選択します
左ペイン
- 右ペインの[属性]タブ内の項目に値を設定して、「更新」を押下します。
ログのローテート種別を日次に変更する
- バッチコンテナを停止します。
- テキストエディタを使用して、以下のファイル内で設定されているappenderのクラス名を修正します
- ${DOMAIN_HOME}/config/batch/logging/log4j.xml
例えば、${DOMAIN_HOME}/config/batch/logging/log4otx.xmlに記述されているBSAGENTLOG appenderに対して
日次でyyyy-MM-ddのサフィックスを追加してログをバックアップする場合は以下のように設定します
<class="com.nec.webotx.org.apache.log4j.DailyRollingFileAppender"
appender name="BSCONTAINERLOG">
<param value="yyyy-MM-dd" name="datePattern" />
<value="${com.nec.webotx.instanceRoot}/logs/batch/${container.name}/${container.name}_${sequence.number}.log"
param name="File" />
...
</appender>
- バッチコンテナを起動します。
注意事項
- ログのローテートサイズを変更できるappenderは、以下のクラスを利用しているappenderのみとなります
- com.nec.webotx.org.apache.log4j.RollingFileAppender
- ローテート種別を日次に変更した場合、ローテートしたログファイルは自動的に削除されないため、適宜不要なログを退避する必要があります
参照
2.5.2.8.3. バッチコンテナのログ設定を変更する (コンテナ個別の設定)
前提条件
- バッチドメインが起動していること
実行手順
ログ設定を変更する
- 運用管理コマンド(otxadmin)を利用する場合
- otxadmin setコマンドを使用してバッチコンテナのログ設定を変更します。(container1の場合)
./otxadmin set <<接続オプション>> domain.bssystem.batch-containers.container1.enabledIndividualLogConfiguration=true
domain.bssystem.batch-containers.container1.enabledIndividualLogConfiguration = true
./otxadmin set <<接続オプション>> domain.bssystem.batch-containers.container1.<属性名>=<設定値>
domain.bssystem.batch-containers.container1.<属性名> = <設定値>
- 統合運用管理ツールを利用する場合
- バッチドメインに接続します
- 左ペインから以下のノードを選択します
左ペイン
- 右ペインの[属性]タブ内の項目に値を設定して、「更新」を押下します。
参照
2.5.2.8.4. バッチコンテナのログをOSログに出力する
前提条件
- バッチコンテナが停止していること
実行手順
バッチドメインのログをOSログに出力する
- テキストエディタを使用して、${DOMAIN_HOME}/config/batch/logging/log4otx.xmlに設定されている各loggerにOSログ出力用のappenderを紐づけます
紐づけるappenderは以下の通りです
- Windows - EVENTLOG
- Windows以外 - SYSLOG
例えば、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="BSCONTAINERLOG" />
<appender-ref ref="SYSLOG" />
</logger>
- バッチコンテナを起動します。
OSログに出力するログのレベルを変更する
- テキストエディタを使用して、${DOMAIN_HOME}/config/batch/logging/log4otx.xmlのOSログ出力用appenderに対し、thresholdを設定します
OSログ出力用appenderは以下の通りです
- Windows - EVENTLOG
- Windows以外 - SYSLOG
例えば、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>
- バッチドメインを起動します。
注意事項
- OSログに出力されるログは、ログレベルが"WARN"レベル、"ERROR"レベル、"FATAL"レベルのログのみとなります
- Linux環境の場合、syslog出力を有効にするためにはsyslogdに’-r’オプションをつける必要があります。詳しくは以下を参照してください。
- Application Server ドメイン構築・基本設定ガイド
参照
2.5.3. バッチコンテナライフサイクルモジュールを設定する
2.5.3.1. ライフサイクルモジュールを作成する
実行手順
参照
- Application Server アプリケーション開発ガイド(共通)
2.5.3.2. バッチコンテナライフサイクルモジュールを登録する
前提条件
- バッチコンテナが停止していること
実行手順
- バッチコンテナのクラスパスにライフサイクルモジュールクラスを設定します
- DOMAIN_HOME/config/batch/lifecycle.propertiesの以下の値を設定します
- webotx.batch.userLifecycle.1 : <ライフサイクルモジュールクラスのFQCN>を入力
参照
2.5.3.3. バッチコンテナライフサイクルモジュールを登録解除する
前提条件
- バッチコンテナが停止していること
実行手順
- バッチコンテナのクラスパスにライフサイクルモジュールクラスを設定します
- DOMAIN_HOME/config/batch/lifecycle.propertiesのからwebotx.batch.userLifecycle.1の値を削除します
参照