[Seasar-user:18337] Re: [SAStruts] Tomcat起動時のDB接続について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2009年 8月 20日 (木) 02:30:42 JST


小林 (koichik) です.

Date:    Thu, 20 Aug 2009 00:58:14 +0900
From:    Hiroshi Ogawa <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:18335] [SAStruts] Tomcat起動時のDB接続について

> ・Tomcat起動時にDBアクセスをServiceを使って行うためには、
>  どのような方法をとるべきでしょうか?それとも起動時にServiceを使うことは
>  できないでしょうか?

その Service も SMART deploy 非対象として
作成し,dicon に登録すれば可能です.
というか,それがオススメです.

> ・上記の設定でfooServiceがDIされない理由はどういったものでしょうか?
>  app.diconから2つのdiconをインクルートした場合、一方からもう一方で
>  定義されているコンポーネントをDIできない?ことと同じような理由でしょうか?

記載された情報だけでは判断できませんが,
HOT deploy においてはコンテナ初期化時に
コンポーネントの自動登録を行わないため
(リクエスト時にオンデマンドで行われます),
FooService がコンポーネントとして存在して
いないことになります.

COOL deploy ではコンテナ初期化時に自動登録
されるので,FooService もコンポーネントとして
存在します.
その場合は,HogeSingleton が app.dicon ではなく,
インクルードされる dicon に定義されていることが
考えられます.
SMART deploy  で自動登録されるコンポーネントは
ルートのコンテナ (app.dicon) に登録されるので,
そこからインクルードされる dicon に定義された
コンポーネントからは自動登録されたコンポーネントは
不可視です.


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