3. サンプルプログラムの実行

本章では、サンプルアプリケーションの導入から実行までの方法を説明します。

3.1. 利用するサンプルプログラムについて

本チュートリアルで使用するサンプルプログラムは、WebOTX Batch Server をインストールしたマシンの
/opt/WebOTX/batch/sample/application/apps/ ディレクトリ配下にある default.jar ファイルです。

3.2. サンプルプログラムの配備

このサンプルプログラムをバッチコンテナ container1 に配備します。配備とは、バッチコンテナ上でバッチアプリケーションを実行可能状態にすることをいいます。
サンプルアプリケーションを配備するためには、otxadmin install-bs-batchapgroup コマンドを利用します。
ここで、バッチアプリケーショングループを default という名前に指定します。以下に、実行例を示します。

[root@localhost bin]# ./otxadmin install-bs-batchapgroup --user root --password bsadmin --port 6312 --batchapgroup default --container container1 /opt/WebOTX/batch/sample/application/apps/default.jar
[BS240343001] /opt/WebOTX/batch/sample/application/apps/default.jar を転送中
[BS240343002] /opt/WebOTX/batch/sample/application/apps/default.jar の転送が完了しました。
[BS240343004] /opt/WebOTX/batch/sample/application/apps/default.jar のインストールと有効化を実行中
[BS240343005] /opt/WebOTX/batch/sample/application/apps/default.jar のインストールと有効化が完了しました。
[root@localhost bin]#

サンプルプログラム default.jar がバッチコンテナ container1 上に配備されたことを確認するために、otxadmin list-bs-jobs コマンドを利用します。実行結果は、以下のようになります。

[root@localhost bin]# ./otxadmin list-bs-jobs --user root --password bsadmin --port 6312 --batchapgroup default --container container1
[batchapgroup]  [batchap]       [job]
default         default         hello

先ほど指定したバッチアプリケーショングループ default が配備されていることを確認することができます。

3.3. サンプルプログラムの実行

本節では、配備されたバッチアプリケーションを実行します。バッチアプリケーションを実行するためには、その中で定義されているジョブ名を指定します。バッチアプリケーションの詳細な開発方法は、アプリケーション開発ガイドを参照してください。

ジョブを実行するためには、jobctl start コマンドを実行します。本コマンドは、WebOTX Batch Server ホームディレクトリ配下の bin ディレクトリ配下に存在します。

また、ジョブを実行する場合、そのジョブ実行に ID を指定することができます。IDを指定すると、ID単位でジョブの実行結果などを参照することができます。
以下のジョブ実行例では、ID を 20110701 と指定しています。

[root@localhost bin]# cd /opt/WebOTX/batch/bin
[root@localhost bin]# ./jobctl.sh start --user root --password bsadmin --port 6312 --batchapgroup default --batchap default --jobname hello --reqid 20110701
2011/07/01 10:28:48 904  INFO  main AbstractJobControlCommand - [BS240341001] コマンドの処理を開始します。
2011/07/01 10:28:49 420  INFO  main StartJobCommand - [BS240341002] ジョブの開始を要求しています。
2011/07/01 10:28:49 792  INFO  main StartJobCommand - [BS240341004] ジョブが開始されるのを待機します。
2011/07/01 10:28:53 622  INFO  main StartJobCommand - [BS240341005] ジョブが開始されたことを検知しました。
2011/07/01 10:28:53 624  INFO  main StartJobCommand - [BS240341006] DomainName = batchsv1, ContainerName = container1-1, JobInstanceId = 1, JobExecutionId = 1
2011/07/01 10:28:53 624  INFO  main StartJobCommand - [BS240341008] ジョブ実行ログを表示します :-
2011/07/01 10:28:52 688  INFO WorkManager-1 BSJobExecutionLogging - [BS240243001] Job: [hello] が次のパラメータ指定で開始しました : [{_BS_REQID=20110701, _BS_BATCH_AP=default, _BS_USERNAME=root, _BS_BATCH_APG=default}]
2011/07/01 10:28:53 204  INFO WorkManager-1 BSJobExecutionLogging - Executing step: [sampleStep]
2011/07/01 10:28:53 552  INFO WorkManager-1 BSJobExecutionLogging - [BS240243002] Job: [hello] が終了しました 指定されたパラメータ : [{_BS_REQID=20110701, _BS_BATCH_AP=default, _BS_USERNAME=root, _BS_BATCH_APG=default}]、 終了ステータス: [ExitStatus: exitCode=COMPLETED;exitDescription=
Step execution status :-
        sampleStep : BatchStatus = COMPLETED, read=10, write=10, skip=0, commit=3]
2011/07/01 10:28:53 552 INTERNAL WorkManager-1 BSJobExecutionLogging -
</JobExecutionLogging>
2011/07/01 10:28:53 664  INFO  main StartJobCommand - [BS240341009] ジョブが終了しました。 status = COMPLETED :-

Exit Code = 0
[root@localhost bin]#

Exit Codeが 0 であれば、ジョブの実行は成功です。

次にジョブの実行状態を確認します。ジョブの実行結果を確認するためには、jobctl list-status コマンドを実行します。

[root@localhost bin]# ./jobctl.sh list-status --user root --password bsadmin --port 6312 --batchapgroup default --batchap default --jobname hello
2011/07/01 13:37:29 360  INFO  main AbstractJobControlCommand - [BS240341001] コマンドの処理を開始します。

ReqId     JobRequestPath              JobInstanceId  JobExecutionId  ExitStatus  BatchStatus  Running
20110701  root/default/default/hello  1              1               COMPLETED   COMPLETED

Exit Code = 0
[root@localhost bin]#

上記の結果で、ReqId が 20110701 のジョブの結果が COMPLETED となっています。COMPLETED とは、ジョブの実行が成功したことを示します。