[Seasar-user:17633] Re: DBFluteのHotDeploy(複数DB)について
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2009年 6月 5日 (金) 17:19:55 JST
小林さま
お世話になっております.松原です.
ご返信有難うございます.
>dbflute-foo.dicon と dbflute-bar.dicon の
>名前空間が異なるという前提で,例えば
⇒ 名前空間は異なります.
>Bhv のパッケージ名から dicon の名前空間を
>求められるなら,MultipleDatabaseBhvCustomizer は
>一つ定義すればいいだけになり, classPattern の
>指定も不要になります.
⇒ Bhv のパッケージ名から求めることは可能と考えて
います.
質問になりますが,
> protected void doCustomize(ComponentDef componentDef) {
> // XxxBhv のプロパティの中で個別の dicon から
> // DI しなくてはならないプロパティを列挙
> addPropertyDef(componentDef, "xxx");
> addPropertyDef(componentDef, "yyy");
> ...
> }
の記述にある「addPropertyDefで,XxxBhv のプロパティの中で個別の
dicon から」とありますが,これは,何を指しているのでしょうか?
例えば,テーブルのカラム・・・外だしSQL・・・すみません,
理解できませんでした.
大変申し訳ございませんが,以上の点をご教示頂けないでしょうか.
以上です.宜しくお願い致します.
=====================================================================
>小林 (koichik) です.
>
>Date: Fri, 5 Jun 2009 16:11:39 +0900
>From: kubo <[E-MAIL ADDRESS DELETED]>
>To: [E-MAIL ADDRESS DELETED]
>Subject: [Seasar-user:17629] Re: DBFluteのHotDeploy(複数DB)について
>
>> 要は、一つのcreatorで自動登録された
>> FooBhvとBarBhvがいたとして、
>> FooBhvにはdbflute-foo.diconのコンポーネントを、
>> BarBhvにはdbflute-bar.diconのコンポーネントをDIする
>> 方法という話になると思いますので、
>> まずはそのやり方を探るのが良いと思います。
>> (S2Container-2.4としてどのようにやるのか)
>
>dbflute-foo.dicon と dbflute-bar.dicon の
>名前空間が異なるという前提で,例えば
>
>public class MultipleDatabaseBehaviorCustomizer extends AbstractCustomizer {
>
> public String namespace;
>
> protected void doCustomize(ComponentDef componentDef) {
> // XxxBhv のプロパティの中で個別の dicon から
> // DI しなくてはならないプロパティを列挙
> addPropertyDef(componentDef, "xxx");
> addPropertyDef(componentDef, "yyy");
> ...
> }
>
> protected void addPropertyDef(ComponentDef componentDef, String propertyName) {
> PropertyDef pd = new PropertyDef(propertyName);
> pd.setExpression(new OgnlExpression(namespace + "." + propertyName));
> componentDef.addPropertyDef(pd);
> }
>}
>
>customizer.dicon で,
>
><component name="behaviorCustomizer"
> class="org.seasar.framework.container.customizer.CustomizerChain">
> <initMethod name="addCustomizer">
> <arg>
> <component class="MultipleDatabaseBehaviorCustomizer">
> <property name="namespace">"foo"</property>
> <initMethod name="addClassPattern">
> <arg>"xxx.foo"</arg>
> </arg>".*Bhv"</arg>
> </initMethod>
> </component>
> </arg>
> </initMethod>
> <initMethod name="addCustomizer">
> <arg>
> <component class="MultipleDatabaseBehaviorCustomizer">
> <property name="namespace">"bar"</property>
> <initMethod name="addClassPattern">
> <arg>"xxx.bar"</arg>
> </arg>".*Bhv"</arg>
> </initMethod>
> </component>
> </arg>
> </initMethod>
></component>
>
>みたいな.
>いろいろ間違ってるかもしれませんが
>イメージはこんな感じで.
>
>Bhv のパッケージ名から dicon の名前空間を
>求められるなら,MultipleDatabaseBhvCustomizer は
>一つ定義すればいいだけになり, classPattern の
>指定も不要になります.
>
>
>--
><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 メーリングリストの案内