2009-08-05 67 views
0

我有一个工作正常的JSF/ICEFaces应用程序,但突然间它开始花费很长时间渲染响应阶段!我可以从控制台得知java部分完成,但需要10分钟才能显示网页!JSF/ICEFaces在渲染响应中需要很长时间

我使用JBoss作为我的应用程序服务器。

你能告诉我如何去调试这个问题吗?我甚至不知道从哪里开始。请告诉我,如果在这里提供一些代码将有助于了解问题的根源。首先,你认为这是一个JBoss问题或应用程序问题?

感谢,

回答

1

BalusC: Debug JSF lifecycle

是您的页面特别复杂的读?例如,如果你有一个大的dataTable,其中每一行包含逻辑,那么渲染阶段可能需要很长时间。

+0

很好的链接和建议!是的,我有很多行数据表,但我也有另一个简单的东西上,仍然很慢。令我困惑的是,它从来没有用过这么久! 使用你提到的链接:RENDER_RESPONSE 6阶段正在永远取得你知道我可以深入挖掘吗? – Tam 2009-08-06 18:54:46

+0

Bean部分似乎完成得相当快,所以它不是从那里开始的,但是渲染JSF响应的一部分似乎需要很长时间。 – Tam 2009-08-06 18:59:59

+0

看看您是否可以调整您的log4j级别以便JSF进行调试或跟踪。这将是超级嘈杂的,但你可能会知道是什么造成延迟。 – Damo 2009-08-07 09:22:42

1

你可以尝试使用工具,如Firebug,看看是否有一些Ajax功能,阻止渲染过程。据我所知,IceFaces很大程度上依赖于在应用程序的服务器端执行所有操作,然后将结果发送到浏览器进行显示。 也许您使用这些组件会产生大量与服务器的通信,或者组件无法更新。

我会研究IceFaces,它已被证明是不稳定的,并且随时都会出现问题。他们有一个自己的论坛,你经常可以找到你的问题的答案。我认为它在Icefaces.org上。但是,如果不知道更多,我不能真正知道问题出在哪里。

+0

谢谢Janusz。我会检查他们的论坛,也许会在那里发帖。我注意到,虽然这是发生在我第一次启动应用程序,所以Firebug没有显示任何内容,因为这是我第一次加载应用程序! – Tam 2009-08-05 17:58:14

+1

这是一个非常好的提示:)第一次启动应用程序时,应用程序需要初始化所有内容,加载所有的库和类等。这可能需要一些时间,具体取决于你在做什么。它不应该需要10分钟,但这可能是看待的方向。你是否创建了大量的应用程序范围的bean?初始化数据库连接需要多长时间等。 – Janusz 2009-08-05 18:16:21

+0

我没有应用程序范围bean,我的所有bean都是请求范围!加上我可以从控制台消息中知道它从DB中获取了东西,然后成功关闭连接!你是对的,它始终需要更长的时间,因为它初始化所有内容,但从未像现在这样10分钟+!加上它过去需要2-3分钟来启动应用程序,但现在突然它需要这么长时间!我不记得做任何重大变化(这是什么驱使我坚果:D) – Tam 2009-08-05 18:29:59