Teeda for Portlet

昨日は、セッションビーン問題をSingletonS2ContainerFactory.destroyをして、対応したけど、これって、良くないな・・・。Teeda 以外でもそうだけど、S2 でS2Container をSingletonS2ContainerFactoryを使うこと自体がよろしくない気がしてきた。これ使うと、同じコンテキスト内にサーブレットとポートレットの共存が難しいし、同じコンテキスト内で複数のポートレットがあって、portlet.xml にconfigPathを記述して、それぞれのポートレットで別のS2コンテナを使いたいときにだめだ・・・。対応するとしたら、ポートレットのインスタンスにS2コンテナを持たせておいて、それを渡す、と言った感じだろうか。これをすると、Teedaの方もポートレットのときは、そっからとってくるように変更する必要があるな。

Teeda for Portlet

セッション問題の謎を解く。原因は、ポートレット用にSingletonS2ContainerFactoryで設定する前にサーブレットフィルタで設定されていたため、サーブレットのExternalContextが呼ばれていたみたい。というわけで、S2Portletでdestroyしてから、やるように変更。でも、これだと、同じコンテキスト内にサーブレットとポートレットが共存して、どっちも利用する場合は、SingletonS2ContainerFactoryをどう使えばいいのだろう・・・。