2

たとえば、すべての XPages を保持しているアプリケーションがあるとします。ほとんどの XPages は、必ずしも相互に関連しているとは限りません。これらの XPage の一部に対して、faces-config ファイルで複数の Bean を定義すると、これらのマネージド Bean を使用しない他の XPage のメモリとパフォーマンスにどのような影響がありますか? このアプリケーションのすべての XPage について、それらはインスタンス化されて (空の場合でも) メモリに保持されていませんか?

もしそうなら、サイトのすべての XPage に対して単一のストアを持つのではなく、マネージド Bean を使用する (そしておそらくそれらを共有する) 関連する XPage を独自の NSF に保持するのがベストプラクティスでしょうか?

ハワード

4

2 に答える 2

5

マネージドBeanは、EL/SSJSで参照されている場合にのみ構築されます。そのスコープは、いつ破棄されるかを定義します。

したがって、パフォーマンスの観点からは、faces-configで定義されているBeanの数(種類)は重要ではありません。

ただし、考慮しなければならないのは、メソッドのパフォーマンスです。特にセッター/ゲッターは、通常、リクエストごとにより多く呼び出されます。また、リクエストスコープのBeanのコンストラクターで過剰なコードを使用しないでください。メモリの需要にも適用されます-大量のデータ(配列、マップなど)をBeanに保持しないようにしてください。

XPagesをより多くのデータベースに分割することをお勧めします。理由は、Beanのパフォーマンス(アプリケーションロジック)とは異なります。関連する機能を一緒に(単一のNSFに)保持し、他の機能から分離する(すべてを同じ場所に混在させないでください)ことをお勧めします。

于 2012-05-08T22:19:25.770 に答える
0

それは、それらをメモリに保持するために使用しているスコープ、それらを何のために使用しているかなどによって異なります.

于 2012-05-08T18:46:25.087 に答える