0

pluto ポートレット コンテナの皆様

私は pluto ポートレット コンテナーを拡張して、独自のポータルを作成しようとしました (理由は聞かないでください)。2 週間後、なんとか拡張することができました。

まず、質問したいのですが、 pluto コンテナーは、そのポートレット インスタンス (GenericPortlet から拡張されたもの) を Singleton としてコンテナーにキャッシュしましたか?

作成されたすべての新しいセッションは、実際には同じポートレット インスタンスによって提供されることがわかりました。これは、ポートレットにカスタム状態 (クラス内のフィールド) を配置したためであり、1 つのセッションでそのカスタム状態を変更したときに、他のセッションでも同じ状態になりました。

2 番目の質問: pluto ポートレット コンテナーを拡張して、新しいセッションが発生するたびに (キャッシュされたポートレットを使用する代わりに) 新しいポートレットを生成する方法は?

それとも私は間違ったアプローチをしていますか?

アドバイスありがとうございます

4

1 に答える 1

0

1) 特に Pluto については知りませんが、私の知る限り、他のポートレット コンテナーは、すべてのユーザーに対してポートレットの単一のインスタンスを保持します。これは、JSR-286 仕様の一部である可能性があります。Pluto を拡張している場合は、とにかく読む価値があります。

2) この基本機能を変更するには、多くの作業、または少なくとも多くの回帰テストが必要になると思います。ユーザーごとにポートレット インスタンスを作成すると、単一のインスタンスを使用すると解消されるパフォーマンスへの影響もあります。ポートレットを現在のモデルで動作させる方が簡単です。

于 2013-09-13T13:49:17.460 に答える