[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 メーリングリストの案内