Jetspeed

<Jetspeed>ここのところは、DLSとAteがメインで、テストの修正から始まり、データベースをいじったりしているな・・・。ちょっと別件で忙しいので、今のところ、静観中・・・。落ち着いたとところで、試してみよう。もしかしたら、ようやくPostgresでも正しく動くようになったかな(今まで試したことなかったけど)。

近頃、marevol.com へのドキュメント作業も進んでいない。とりあえず、VFSポートレットが落ち着かんことには・・・。予定では、この前の週末には完了しているはずだったのだが、MyFacesGenericPortletの改良に時間がかかってしまっている・・・。一応、毎週土曜日はドキュメント作業の日と考えているので、今度の土曜日にはできるようにしたいところ・・・。

<MyFaces>セッション問題を考える。確認したところ、MyFaces は、ビーンをPORTLET_SCOPEに置いているようだ。一応、ビーン内でPortletRequestからPortletSessionを取り出して、APPLICATION_SCOPEとPORTLET_SCOPEに格納されているデータを確認すると、同じポートレットを別ページに配置していれば、別のPORTLET_SCOPEでセッションに入れることを確認できた。また、Plutoを確認して、PORTLET_SCOPEはAPPLICATION_SCOPEでjavax.portlet.p.WINDOW_ID?KEYという形で格納されていることも確認。うーん、何がおかしいのだろうか。MyFaces、Pluto、Jetspeed2、そして、マイプログラム・・・。でも、マイプログラムではたいしたことやっていないしな・・・。

調べてみて、マイプログラム内であることに気づく。JSF でビーンをapplicationスコープで作っている。そのビーンでPortletConfigから値を取って、そのポートレットで使うデフォルト値を管理するようにしている。そんで、そのapplicationスコープのビーンから、デフォルト値をsessionスコープのビーンに渡している。つまり、applicationスコープのビーンは、そのポートレットインスタンスに関係なく、そのポートレットで共有して使われる。正しいといえば、正しいけど、この辺が単純に1つのアプリケーションとして作るのとは違って、ややこしい。たぶん、原因はマイプログラムか・・・。これは、ポートレットとして利用するときのはまりどころになりそうな・・・。1つレベルアップ 🙂

コメントを残す

メールアドレスが公開されることはありません。