[Seasar-user:20481] [s2jdbc]マルチスレッドによるバッチプログラム

halt [E-MAIL ADDRESS DELETED]
2011年 1月 5日 (水) 16:54:56 JST


いつもお世話になっております。大塚です。

現在、s2jdbcを用いて以下のような構成でマルチスレッドのバッチプログラム(CLI)を作成しております。
Main getComponent(HogeAction.class)
`HogeAction(prototype)
JobをDIされる。Runnable実装にJobを指定してExecutorService#submit()。txAttributeCustomizer。
`FugaJob(prototype) ビジネスロジックを実装。
+XxxService(prototype,jdbc-gen) JdbcManagerをDIされる。
`YyyService(prototype,jdbc-gen) JdbcManagerをDIされる。
`MogeJob(prototype) ビジネスロジックを実装。
+XxxService(prototype,jdbc-gen) JdbcManagerをDIされる。
`YyyService(prototype,jdbc-gen) JdbcManagerをDIされる。
利用バージョン
s2-framework-2.4.42
s2-extension-2.4.42
s2jdbc-gen-2.4.42

そこでいくつか懸念が生じております。
通常、Webアプリであれば、Action以降は同期実行されると思います。
しかし、上記のようにActionで複数のRunnable実装を起動した場合に以下の点で懸念が生じております。
1)JdbcContextなどJdbcManager以降の実装がスレッドセーフか?(複数スレッドから呼び出される)
2)ActionがExceptionをthrowした際、全スレッドのトランザクションがきちんとrollbackされるか?

※以下の過去レスを一読いたしましたが、s2jdbcについては言及が無いようでした。
[Seasar-user:14973] バッチAPでマルチスレッドを使用したい
http://ml.seasar.org/archives/seasar-user/2008-July/014977.html

以上、お忙しいこととは存じますが、ご教示いただけると幸いです。
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20110105/2c8a49f3/attachment.html>


Seasar-user メーリングリストの案内