[Seasar-user:13445] Re: [Teeda]cooldeploy時に登録されないコンポーネント

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2008年 3月 27日 (木) 19:21:32 JST


小林様

お世話になっております。
ためやすです。

回答ありがとうございました。

> そのため,ファイルシステム上で .class ファイルが
> 見つかる順番によってコンポーネントを登録する順番が
> 変わります.
> この順番は java.io.File#list() の結果に依存するのですが,
> Javadoc によると
> 
> ----------------------------------------------------------------------
> 結果として得られる配列の名前文字列は特定の順序にはなりません。
> アルファベット順になるわけではありません。
> ----------------------------------------------------------------------
> 
> ということなので,順番は環境によって異なります.
Javadocを確認しました。
ファイルシステム上で .class ファイルが見つかる順番は、OSや
アプリケーションサーバ等の環境によって一定の順序にはならないと
いうことですね。

> その際,登録済みのコンポーネントは登録しないように
> なっています.
> サブクラスはスーパークラスでもあるので,サブクラスが
> 先に登録されるとスーパークラスは登録されません.
> そのため,OutPjMemInfoDtlPage や OutSrhRstDtlPage が
> 先に登録されると,EntPerEntPage は「登録済み」と
> 判断されてしまい,登録されなくなります.
環境に依らずに常にコンポーネント登録が実行されるよう、
Page間の継承関係を修正することで対応いたします。

ありがとうございました。

Koichi Kobayashi wrote:
> 小林 (koichik) です.
> 
> Date:    Thu, 27 Mar 2008 12:38:57 +0900 (JST)
> From:    [E-MAIL ADDRESS DELETED]
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:13434] [Teeda]cooldeploy時に登録されないコンポーネント
> 
> > <質問>
> > そこで質問なのですが、cooldeployモードで同じアプリケーションをデプロイする場合、
> > ある環境ではコンポートネント化され、ある環境ではコンポーネント化されない
> > 条件があるとしたらそれはどのようなものと考えられますでしょうか?
> > 
> > また、各クラスがコンポーネント化される順序が環境によって変化する
> > ことがあるのでしょうか。
> 
> COOL deploy の場合,ファイルシステム上の .class
> ファイルを操作してコンポーネントを検出します.
> # Jar ファイルの中を走査して検出する場合もあります.
> 
> そのため,ファイルシステム上で .class ファイルが
> 見つかる順番によってコンポーネントを登録する順番が
> 変わります.
> この順番は java.io.File#list() の結果に依存するのですが,
> Javadoc によると
> 
> ----------------------------------------------------------------------
> 結果として得られる配列の名前文字列は特定の順序にはなりません。
> アルファベット順になるわけではありません。
> ----------------------------------------------------------------------
> 
> ということなので,順番は環境によって異なります.
> 
> その際,登録済みのコンポーネントは登録しないように
> なっています.
> サブクラスはスーパークラスでもあるので,サブクラスが
> 先に登録されるとスーパークラスは登録されません.
> そのため,OutPjMemInfoDtlPage や OutSrhRstDtlPage が
> 先に登録されると,EntPerEntPage は「登録済み」と
> 判断されてしまい,登録されなくなります.
> 
> HOT deploy だと,ファイルシステム走査することなく,
> 必要になったコンポーネントを直接登録するので,
> このような問題はありません.
> 
> 
> 
> -- 
> <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 メーリングリストの案内