[Seasar-user:15958] [Teeda]SingletonS2Container#getComponentでClassCastException

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2008年 10月 9日 (木) 18:17:31 JST


海野です。
お世話になっております。

HotDeployでアプリケーション起動後1回目だけ
 SingletonS2Container.getComponent(LoginDto.class)
の実行時にClassCastExceptionが発生することがあり、
困っています。2回目以降は問題ないです。

LoginDtoクラスには
 @Component(instance = InstanceType.SESSION)
を適用していまして、このクラスをログインチェックのための
インターセプタ内で取得しようとする箇所で、発生しているようです。

これを実行している行にブレークポイントをはり、
デバッガでインスペクションすると結果は正常に見えるのに、
なぜか1ステップ進めると落ちてしまったりします。

ぐぐってみたところ、HotDeploy時にはスコープがセッションの
コンポーネントを扱う際に発生するというような記事などを見たのですが
どのような対策がとれるのか、理解できませんでした。

起きたり起きなかったりで、再現できるコードが示せなくて申し訳ないのですが
アドバイスいただけませんでしょうか。

環境は
・Seasar2.4.29
・Teeda1.0.13-sp3
です。
宜しくお願い致します。


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