クラス情報
パッケージ: com.onepg.bat
クラス名: AbstractDbAccessBatch (抽象クラス)
説明
DBアクセス バッチ処理 基底クラス.
- データベース接続を含む バッチ処理の基底クラスです。
- DB接続の取得とクローズを自動的に処理します。
- 各バッチ処理の共通処理(ログ出力、例外処理等)を提供します。
- サブクラスで
doExecuteメソッドを実装することで具体的なバッチ処理を定義します。 - サブクラスは
mainメソッドから本クラスのcallMainメソッドを呼び出すとdoExecuteメソッドが実行されます。 - サブクラス
mainメソッドへの引数は URLパラメータ形式でcallMainメソッドにそのまま渡される前提としています。 - URLパラメータ形式の引数はマップ形式に変換され、
IoItemsクラスとしてdoExecuteメソッドに渡されます。 - サブクラス
doExecuteメソッド内でのエラー時は Exception をスローする前提としています。 - 正常終了時の
callMainメソッドの戻値は 0 となります。 doExecuteメソッド内で Exception がスローされた場合のcallMainメソッドの戻値は 1 となります。
[実装例]public class ExampleBatch extends AbstractDbAccessBatch {
public static void main(String[] args) {
System.exit((new ExampleBatch()).callMain(args));
}
定数・変数一覧
traceCode
protected String traceCode
トレースコード.
logger
protected LogWriter logger
ログライター.
メソッド一覧
doExecute (抽象メソッド)
protected void doExecute(IoItems args)
メイン処理.
- サブクラスで具体的な バッチ処理を実装します。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
args |
IoItems |
引数 |
callMain
protected int callMain(String[] args)
メイン処理の呼び出し.
- 引数をURLパラメータ形式からマップ形式に変換し、ログ開始処理を実行後、
doExecuteメソッドを呼び出します。 - コマンドライン引数1つあたりの長さ制限に対応するため、複数の引数を配列として受け取る。
- 変換された引数は
IoItemsクラスとしてdoExecuteメソッドに渡されます。 doExecuteメソッド内で Exception がスローされた場合は、処理が異常終了したとみなします。- 処理が正常終了した場合は、コミットします。
- 処理が異常終了した場合は、ロールバックします。(ロールバック自体は
Connection#close()で行われる) - 処理終了後、DB接続を必ずクローズします。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
args |
String[] |
引数 |
戻り値
int - 正常終了時は 0、異常終了時は 1
getDbConn
protected Connection getDbConn()
DB接続取得.
- 現在のDB接続を返します。
callMainメソッド内でのみ有効な接続です。
戻り値
Connection - DB接続