2012-05-08 15 views
2

私のXPagesをすべて保管しているアプリケーションがある場合、必ずしも互いに関連している必要はありません。これらのXPageのいくつかのfaces-configファイルにいくつかのBeanを定義すると、これらのマネージドBeanを使用しない他のXPageのメモリとパフォーマンスにどのような影響がありますか?このアプリケーションのすべてのXPageでインスタンス化されてメモリに保持されていません(空であっても)。アーキテクチャ上の問題マネージドBeanの使用

もしそうなら、自分のNSFでマネージドBeanを使用する関連するXPageを維持し、サイトのすべてのXPageに対して1つのストアを持つのがベストプラクティスでしょうか?

本当にあなたが等等のためにそれらを使用している、あなたがメモリ内にそれらを保つために使用されている範囲に依存ハワード

答えて

5

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

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

しかし、考慮する必要があるのはメソッドのパフォーマンスです。特にsetter/gettersは、リクエストごとに通常より多く呼び出されます。また、要求スコープBeanのコンストラクターで過剰なコードを避ける。 Beanに膨大な量のデータ(配列、マップなど)を保存しないようにしてください。

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

+0

に依存していますありがとう、素晴らしい情報! – Howard

0

..

+0

viewScopeまたはsessionScopeで、Beanに全くアクセスしなかったとします。私はまだいくつかのパフォーマンスヒットは、ユーザーの数とスコープの種類に応じてメモリ使用量と共にメモリ内のBeanを設定していると仮定していますか?これは、特定のBeanに依存するXPageを独自のnsfに入れることを検討するには十分でしょうか?ありがとう、ハワード – Howard

+0

それは本当に – jjtbsomhorst

関連する問題