[Seasar-user:17498] Re: S2JDBCを自分のコードで使いたい
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2009年 5月 22日 (金) 02:30:05 JST
小林 (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 メーリングリストの案内