[Seasar-user:464] Re: コンストラクタによるコンポーネント生成で問題

B gluegent.com Masataka Kurihara kurihara
2004年 3月 11日 (木) 13:29:59 JST


栗原です。

> なるほど、<component initMethod="init">と<method name="init">は
> 同じなのね。知らなかった。(藁

  違うのは、メソッドのほうは引数が渡せるんですよね。これは大きな
自由度だと思います。また、教えてもらった複数呼べるというのも、使
うのは前の例示のような特殊ケースぐらいだと思いますが、自由度が高
いです。

> 今は、インスタンスモードがprototypeの場合、initMethodは呼ばれず、
> methodタグは呼ばれるという中途半端な仕様になっているので、
> initMethodは呼ばれるが、destroyMethodは呼び出されないという
> 仕様に変えておきます。
> 
> prototypeの場合、destroyMethodを呼び出せないのは、
> インスタンスがコンテナ管理外のためです。
> Springがどうなっているか後で調べてみます。

  なるほど。まだprototypeはまったく見てませんが、ぱっと思いつき
的にはWeakReferenceでリリース時にコールバックしてくればよいよう
な気がします。。。が、バイトコードエンジニアリングしないといけ
ないのかな?なんかスマートな手はありそうですね。
  シンプルにできるならば、prototypeでもdestroy呼べたほうが良いと
は思います。

--
株式会社グルージェント
栗原 傑享(くりはら まさたか)
渋谷区渋谷3-7-6 第6矢木ビル4F
TEL:03-5469-8869 FAX:03-5469-8879
URL:http://www.gluegent.com/
--





Seasar-user メーリングリストの案内