JSFアプリケーションがTomcat 6によってサービスされていて、セッションごとにマネージドBeanとして「セッション」スコープ内に割り当てられたviewScoped Beanを取得できます。問題は、セッションがアイドル状態で数時間を過ごした後でも、このBeanを格納するために使用されたメモリーが解放されていないように見えることです。セッションが無効でも、マネージドBeanの割り当てが解除されませんでした。
セッションが特定の期間(たとえば、10分)アイドル状態になった後でTomcatにこのメモリの割り当てを解除させる方法はありますか?そうでない場合は、このメモリをプログラムで手動で解放する方法はありますか?または、「セッション」スコープ内の「マネージドBean」の機能の1つで、サーバがシャットダウンするまでメモリ内に保持されます。 ありがとうございます!
ただし、viewScoped Beanの割り当てを解除することはできません。期限切れページのリンクをクリックすると、tomcatコンソールのログに、サーバー側のUIViewRootがまだ生きていることが表示されるためです。ログ: beforePhase-RESTORE_VIEW 1 afterPhase -RESTORE_VIEW 1時間:3 beforePhase-RENDER_RESPONSE 6 サーバプロセスのメモリが若干低下していませんでした。サーバーが比較的長い時間稼動している場合。アプリケーションの応答はとてもゆっくりで、ページャーが機能しないなど堅牢ではないようです。 であっても、サーバのシャットダウン、コンソールプリントアウト: は
を割り当て解除することが16インスタンス(複数可)を待っているが、誰もがこのことを知っありますか?
これはJSF/PrimeFacesの責任ではありません。それはGCの責任です。プロファイラを実行します。 – BalusC