2009-08-05 11 views
0

JSF/ICEFacesアプリケーションはうまくいきましたが、突然応答フェーズのレンダリングに長い時間を要しました。私は、Javaの部分が正常に完了したことをコンソールから伝えることができますが、Webページを表示するのに10分かかります!JSF/ICEFacesは応答のレンダリングに非常に時間がかかります

私はアプリケーションサーバーとしてJBossを使用しています。

この問題をデバッグする方法を教えてください。私はどこから始めるべきか分からない。ここにいくつかのコードを入れておけば、問題の根本を知るのに役立つでしょうか教えてください。まず、JBossの問題またはアプリケーションの問題だとお考えですか?

おかげで、

タム

答えて

1

BalusC: Debug JSF lifecycle

の読み取りを持って、あなたのページには、特に複雑ですか?たとえば、各行にロジックが含まれている大規模なdataTableを使用すると、レンダリングフェーズに時間がかかることがあります。

+0

素晴らしいリンクと提案!はい、私は多くの行でdatatableを持っていますが、私はまた、単純なものと別のページがあり、まだ遅いです。私を混乱させることは、これほど長い時間を取ることがなかったことです! あなたが言及したリンクを使用しています:RENDER_RESPONSE 6フェーズは永遠に取っています。 – Tam

+0

Beanの部分が合理的に速く完了しているようですが、そこからではありませんが、JSFレスポンスのレンダリングの一部が長くかかるようです。 – Tam

+0

JSFのlog4jレベルをデバッグまたはトレースできるかどうかを確認してください。それは超騒々しいですが、遅延を引き起こしているもののアイデアを得るかもしれません。 – Damo

1

あなたはブロックがプロセスをレンダリングするいくつかのAjax機能があるかどうかを確認するためにFirebugのようなツールを使用することを試みることができます。 IceFacesは、アプリケーションのサーバー側ですべてを行うことに大きく依存し、結果をブラウザに送信して表示することを知っています。 コンポーネントを使用すると、サーバーとの通信が大量に発生するか、コンポーネントを更新できないことがあります。

私はIceFacesを見ていますが、それは私がそれに取り組んだときに不安定で問題が発生しやすいと証明されています。彼らには、自分の問題に対する答えを見つけることができる独自のフォーラムがあります。私はそれがIcefaces.orgにあると思う。しかし、それ以上のことが分からなければ、どこに問題があるのか​​は分かりません。

+0

Thanks Janusz。私は彼らのフォーラムをチェックし、そこに投稿するかもしれない。私は気づいたが、これは最初にアプリケーションを起動するときに起きているので、Firebugは何も表示していないので、アプリケーションをロードするのは初めてだからだ! – Tam

+1

これは非常に良いヒントです:)最初にアプリケーションを起動するときに、アプリケーションはすべてを初期化し、すべてのライブラリやクラスなどをロードする必要があります。これは、何をしているかによって時間がかかることがあります。それは10分かかるべきではありませんが、これは見るべき方向かもしれません。巨大なアプリケーションスコープのBeanを作成していますか? – Janusz

+0

私はアプリケーションスコープBeanを持っていません。私のBeanはすべてリクエストスコープです!私はそれがDBからのものをフェッチし、その後、接続を正常に終了したことをコンソールメッセージから伝えることができます。あなたは正しいですが、それはすべてが初期化されるので、最初は時間がかかりますが、私の場合のように今は10分もありません!それはアプリケーションを起動するのに2〜3分かかっていましたが、今は突然長くかかります!私は大きな変更をしたことを思い出すことができません(そして、これはナットを駆動するものです:D) – Tam