[Seasar-user:10355] Re: [S2]アプリケーション起動時のInitializeについて

o.h. [E-MAIL ADDRESS DELETED]
2007年 9月 6日 (木) 16:21:40 JST


長谷川です.

r.m さんは書きました:
> ありがとうございます。
> 
> S2ContainerListenerは、自分で改修して、jar化するイメージであっていますでしょうか?
>

これは S2 の jar に入っていますから、そのまま web.xml に記述すればおっけ
です.
で、こちらを使う場合は S2ContainerServlet は必要ありません.
#S2ContainerFilter はそのままに

>> でも、どうせなら S2 に Singleton コンポーネントとして管理してもらって
>> コンポーネントの作成時または初期化メソッドでマップを作成してしまうのが
>> 正しいような気がします.
> 
> これに関しては、イマイチイメージが沸かないのですが
> ネーミング規約にそった、パッケージ・クラス名にして自動登録対象とし
> その上で、初期化するといった感じでしょうか?
> コンポーネント登録時・初期化メソッドとは、何かInterfaceをImplするのでしょうか?
> 
> 
> 後者の方が、スマートだと思われますが、実装方法がよくわかりません。
> Seasarプロジェクトのサイトを見て、勉強してみます。
> ご教授頂けるようでしたら、お願いできますでしょうか。
> 

SMART deploy でやるとすれば、たとえば Service として登録するんでしたら

@Component(instance = InstanceType.SINGLETON)
public class HogeService {
...
}

とかしてルートパッケージ以下の service パッケージに放り込んでおくだけ
です.
#Helper のほうがいいのかな?

じゃなければ、普通に app.dicon に component タグで追加してやることに
なるでしょう.
で、component タグには初期化・終了時に呼ぶメソッドを指定できますから
そこにやりたいことを書いておけばいいでしょう.
#もちろんコンストラクタで可能な場合もあるでしょうから、ここら辺は
#適宜よろしくということで

特に難しいことは無いはずですが、説明が下手なんでわかりにくいかも.

以上.
-- 
_/_/
_/_/ mailto: [E-MAIL ADDRESS DELETED]
_/_/ (deprecated: [E-MAIL ADDRESS DELETED])
_/_/



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