[Seasar-user:6119] Re: S2RMIでHotDeployが出来ない
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 2月 12日 (月) 00:00:20 JST
小林 (koichik) です.
Date: Sun, 11 Feb 2007 19:13:37 +0900
From: "Masanobu Shimura" <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:6117] Re: S2RMIでHotDeployが出来ない
> CoolDeployするものは、HotDeployするものと勘違いしていました。
COOL と HOT で同じ動きになるべきなのですが,現状では
そうなっていません.
COOL deploy の場合はクラス名からコンポーネント名を
求めて自動登録するのですが,HOT deploy の場合は逆に
コンポーネント名からクラスの FQN を求めることが多く,
パッケージ名が規約に従っていないとクラスを見つけることが
できません.
例えば COOL deploy では
GolfTrxServiceImpl -> golfTrxService
VdrTrxLogic -> vdrTrxLogic
のようにクラス名からコンポーネント名を求めますが,
HOT deploy では逆に,コンポーネント名のサフィックス
(Service や Logic) を小文字化してルートパッケージに
加えることでクラス名を求める (場合が多い) ため,
golfTrxService -> <org.seasar.golf>.[service].impl.GolfTrxServiceImpl
vdrTrxLogic -> <org.seasar.golf.uexample>.[logic].VdrTrxLogic
などとなります.
<...> がルートパッケージ名で,[...] がコンポーネント名の
サフィックスです.
現状では,上記のように HOT では登録されないクラスが
COOL で登録される他,HOT はコンポーネント名から最初に
見つけたコンポーネントのみが登録されるのに対し,COOL では
見つかったクラスが全て登録されるため,TooMany〜 に
なりやすかったりします.
このような違いがあるのは問題なので,なんとかしたいと
思ってます.
--
<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 メーリングリストの案内