Forums: Open Discussion (Thread #25596)

【バッチFW】コミット件数の制御&分割キーの件数について (2010-03-02 11:03 by hoge #49094)

お世話になります。

標題の件で投稿致しました。


馬鹿な質問かもしれませんが、SQLで取得した値を分割キーとしている場合
全て別々のトランザクションになっていると思うのですが、コミット件数を制御したりする事はできるのでしょうか。

現状1トランザクション1回コミットとなっております。(当然っと言えば当然ですが、、)


SQLで分割キーを取得するのは可能なのですが、【分割キー】の総合計数は取得はできないのでしょうか。
例えばSQLで100件レコードをとれた場合、分割キーは100件となります。
そこで、100件というのをロジック上で【簡易的】に取得したいと思っております。

なにか方法はありますでしょうか。
(※SQLでカウント数をとるのは無しとします。)

Reply to #49094×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: 【バッチFW】コミット件数の制御&分割キーの件数について (2010-04-06 18:03 by taromaru #49934)

手元で検証していませんが…

>①
<import resource="classpath:template/PartitionChunkTransactionBean.xml" />
チャンク別トランザクションモデルの分割キー版雛形
を使用してみてはいかがでしょうか。
チャンクサイズを調整すれば、細切れにコミットすることが可能です。

>②
FWから提供しているコレクタでは、カウントは実施していません。
各BLogicが動いている間は、分割キーを取得している最中なので、
分割キーの総数を得るには、別途SQLでカウントする必要があります。
とはいえ、ロジック上で毎回カウントするのはかなり無駄なので
ジョブコンテキストと分割キーコレクタを自作し、
分割キーコレクタで1回分割キーの総数をカウントして、
自作のジョブコンテキストに分割キーの総数を設定しておき、
BLogicから分割キーの総数を取得すると良いかと思います。
Reply to #49094

Reply to #49934×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login