JDBCCallableStatementWriterPattern
このパターンは、ストアード・プロシージャーを使用して、 Java™ Database Connectivity (JDBC) 接続 にデータを出力するビジネス・ロジックの実装に使用されます。接続のオープンとクローズの管理用 タスクは、バッチ・フレームワークによって実行されます。
サポートされるクラス
- JDBCCallableStatementWriter
このクラスは、JDBC 入力ストリームの 使用パターンが照会から単一の結果を取得するときに参照されます。 この照会と結果は、そのステップの反復が終了するたびに破棄されます。 このクラスは、用意されたステートメントの代わりに呼び出し可能ステートメントを使用する点が JBDCWriter とは異なります。
- LocalJDBCCallableStatementWriter
このクラスは、ローカル・データベースからデータが読み取られるときに参照されます。
必須プロパティー
以下は、このパターンの必須のプロパティーです。
プロパティー | 値 | JDBCCallableStatementWriter | LocalJDBCCallableStatementWriter |
---|---|---|---|
PATTERN_IMPL_CLASS | JDBCCallableStatementReaderPattern インターフェースを実装する クラス | 該当あり | 該当あり |
ds_jndi_name | データ・ソースの JNDI 名。 | 該当あり | 該当あり |
jdbc_url | JDBC の URL。例えば、jdbc:derby:C:¥¥mysample¥¥CREDITREPORT です。 | 該当なし | 該当あり |
jdbc_driver | JDBC ドライバー。例えば、org.apache.derby.jdbc.EmbeddedDriver です。 | 該当なし | 該当あり |
userid | データベースのユーザー ID。 | 該当なし | 該当あり |
pswd | ユーザー・パスワード。 | 該当なし | 該当あり |
オプション・プロパティー
以下は、このパターンのオプションのプロパティーです。
プロパティー名 | 値 | 説明 | JDBCCallableStatementWriter | LocalJDBCCallableStatementWriter |
---|---|---|---|---|
debug | true または false。 デフォルト値は false です。 | このバッチ・データ・ストリームに対する詳細トレースを使用可能にします。 | 該当あり | 該当あり |
batch_interval | デフォルト値は 20 です。 この値は、レコード・ベースのチェックポイント操作のチェックポイント間隔より小さな値に設定してください。 | バッチ処理後にコミットする SQL 更新の数を示します。 | 該当あり | 該当あり |
EnablePerformanceMeasurement | true または false。 デフォルト値は false です。 | GenericXDBatchStep を使用している場合に、バッチ・データ・ストリームおよび processRecord メソッドに費やされた合計時間を計算します。 | 該当あり | 該当あり |
EnableDetailedPerformanceMeasurement | true または false。 デフォルト値は false です。 | バッチ・データ・ストリームの各メソッドで費やされた時間のより詳細な明細を提供します。 | 該当あり | 該当あり |
インターフェース定義
public interface JDBCCallableStatementWriterPattern {
/**
* This method is invoked during the job setup phase.
*
* @param props properties provided in the xJCL
*/
public void initialize(Properties props);
/**
* This is typically an Update query used to write data into the database
* @return
*/
public String getCallableStatementSQL();
/**
* The parent class BDSCallableStatementJDBCWriter creates a new CallableStatement and
* passes it to this method. This method populates the CallableStatement
* with appropriate values and returns it to the parent class for execution
* @param pstmt
* @param record
* @return
*/
public CallableStatement writeRecord(CallableStatement pstmt, Object record);
}
JDBCCallableStatementWriter xJCL example
<batch-data-streams>
<bds>
<logical-name>outputStream</logical-name>
<props>
<prop name="IMPLCLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoWriter"/>
<prop name="ds_jndi_name" value="jdbc/IVTdbxa"/>
<prop name="batch_interval" value="2"/>
<prop name="EnablePerformanceMeasurement" value="true"/>
<prop name="debug" value="false"/>
</props>
<impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.JDBCCallableStatementWriter</impl-class>
</bds>
</batch-data-streams>