[seasar-javadoc:357] Re: ComponentDeployer

Hideaki Suzuki suzuki @ uinet.or.jp
2006年 7月 13日 (木) 02:22:10 JST


鈴木(belltree)です。

> さて.
> 今更気づいたのですが,一覧表が微妙です.
> 
> >  * {@link InstanceDef コンポーネントインスタンス定義}と有効なメソッドの対応表を以下に示します。
> 
> ということですが,この「有効なメソッド」がちょっと怪しい.
> 例えば singleton の場合に injectDependency(Object) を呼び出すと
> 例外が吹っ飛んでくるということで「有効なメソッド」でないことは
> 明白ですが,singleton 以外で destroy メソッドを呼び出しても
> 例外が飛ぶわけではなく,単に何も起こりません.コンポーネントの
> destroy メソッドが呼び出されないという点では「有効なメソッド」
> とは言えないかもしれませんが,先のケースとは微妙に異なります.
> さらに,singleton でも outer でもないケースで init() は
> 例外が起きないだけでなく,アスペクトを適用するためにクラスを
> エンハンスするなんてことをやったりします.コンポーネントの
> init メソッドは呼び出されませんが,ComponentDeployer としての
> 初期化は行われます.
> 
> そんなわけで (どんなわけで?),一覧表を再考する必要がありますね.
> ○×に加えて△を加えてみるとか注釈を加えるとか.
> あと,メソッドの順番は名前順よりライフサイクルに合わせて
確かに…気づきが足りなかったです orz。非常に勉強になりました。 mOm
○ 有効(処理あり)
△ 有効(処理なし)
× 無効(例外)
という色分けで表を調整してみました。いかがでしょう?

> init()
> deploy()
> injectDependency()
> destroy()
> 
> がいいかなぁ.
そうですね。了解です。修正しました。

ついでに、さりげなく外部コンテキストの並びも、スコープの大きい順
application > session > request
に直しました ^^;;;

さらに deploy() メソッドの内容が、"deploy" の名に恥じる内容だったので
肉付けしてみました。 ^^;

/** 
 * @auther Hideaki Suzuki
 * @contact suzuki at uinet.or.jp
 */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ComponentDeployer.java
Type: application/octet-stream
Size: 7828 bytes
Desc: not available
Url : http://ml.seasar.org/archives/seasar-javadoc/attachments/20060713/b37c45a4/attachment-0001.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ComponentDeployer.zip
Type: application/x-zip-compressed
Size: 4452 bytes
Desc: not available
Url : http://ml.seasar.org/archives/seasar-javadoc/attachments/20060713/b37c45a4/attachment-0001.bin 


seasar-javadoc メーリングリストの案内