[Seasar-user:17508] Re: S2JDBCを自分のコードで使いたい
山田太郎
[E-MAIL ADDRESS DELETED]
2009年 5月 22日 (金) 23:28:44 JST
田中です。
SingletonS2Container.getComponent(XxxService.class);
というようにすれば良かったのですね。
SAStrutsのページしか見ておらず、この方法がわかりませんでした。
ありがとうございました。
ちなみに、S2Chronosのページには、
>バッチプログラムを別プログラムに切り出すと,ウェブアプリ内にあるDao, Logic, Serviceとの連携に手間がかかります.
と書かれていますが、やはりバッチプログラムの中でJdbcMananerを使ったり、
トランザクションを管理させるのは大変なんでしょうか?
2009/05/22 2:30 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:
> 小林 (koichik) です.
>
> Date: Fri, 22 May 2009 00:33:21 +0900
> From: 山田太郎 <[E-MAIL ADDRESS DELETED]>
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:17497] S2JDBCを自分のコードで使いたい
>
>> 現在SAStruts + S2JDBCで開発していますが、Actionを実行中に
>> スレッドを起こして、とりあえず、レスポンスを返しバックグラウンドで
>> 処理を行いたいと思っています。そのスレッドの中でS2JDBCを使用して、
>> 更新処理を行いたいのですが、どのようにコーディングしたら
>> 良いのでしょうか?
>
> 普通に S2JDBC を利用するコードを Service として
> 作成して,それをコンテナから取得して呼び出すとか.
>
> public class XxxService extends AbstractS2Service {
> ...
> }
>
> public class XxxThread extends Thread {
> public void run() {
> XxxService xxxService = SingletonS2Container.getComponent(XxxService.class);
> xxxService.xxx();
> }
> }
>
>
> Runnable または Callable を実装したクラス自体や
> Executor を S2 で管理してしまってもいいと思います.
>
> public class XxxCommand implements Runnable {
> public XxxService xxxService;
>
> public void run() {
> xxxService.xxx();
> }
> }
>
> app.dicon
> <component class="XxxCommand"/>
> <component class="java.util.concurrent.ExecutorService">
> @[E-MAIL ADDRESS DELETED]()
> <destroyMethod name="shutdown"/>
> </component>
>
> public class XxxAction {
> public XxxCommand xxxCommand;
> public ExecutorService executorService;
>
> @Execute
> public String xxx() {
> ...
> executorService.submit(xxxCommand);
> ...
> }
> }
>
>
> こういう用途で使えるかどうか知りませんが,
> S2Chronos を調べてもいいかもしれません.
>
> http://s2chronos.sandbox.seasar.org/ja/
>
>
> --
> <component name="koichik">
> <property name="fullName">"Koichi Kobayashi"</property>
> <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
> <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内