【问题标题】:performance tuning for JSF [closed]JSF 的性能调优 [关闭]
【发布时间】:2010-08-26 13:07:24
【问题描述】:

任何人都可以列出调整 JSF WebApp @ 最佳状态的技巧吗?

【问题讨论】:

  • 很大程度上取决于你的瓶颈在哪里。
  • 这是一个非常笼统的问题。

标签: java optimization jsf performance


【解决方案1】:

JSF RichFace

永远不要在你的 getter 中加入逻辑。 它们被多次调用并且 应该只返回一些东西 由另一种方法填充。为了 例如,如果您正在链接下拉菜单 一起使用 a4j:support 标签 第一个具有动作属性的 加载数据,然后 当您重新渲染第二个时检索 一。

使用 ajaxSingle="true" 除非 你实际上想发送整个 表单返回到服务器。
不要使用 如果您只需要一个丰富的组件 正常的一个。例如不要使用 rich:dataTable 除非你正在制作 使用它的一些功能 有超过 h:dataTable。

考虑使用 immediate=true 您所做的元素的属性 不需要验证 避免显示 大表给用户。

使用分页 不要过度复杂的 EL 表达式, 在支持 bean 中用 Java 编写代码

JSF BestPractices
Performance Tuning

【讨论】:

  • JSF BestPractices 中的一些 cmets 已经过时了。例如 c:if 的用法 - 不建议在 JSF 中使用 JSTL。它还破坏了 JSF2 中的 ViewScope 等一些功能
  • 我对 BalusC 的更多期待。
  • stackoverflow.com/questions/628570/jsf-tuning 这似乎也是一个相关的讨论
【解决方案2】:

迁移到 Stateless JSF 会极大地提升性能。现在可以完全无状态地使用 JSF。请参阅this blogthis issue。回报是您不能动态创建视图(例如通过绑定、JSTL 标签等),也不能在创建后对其进行操作。


一种无状态的 JSF 操作模式 对于高负载应用程序和 架构:

http://industrieit.com/blog/2011/11/stateless-jsf-high-performance-zero-per-request-memory-overhead/#comment-4

Jacob 之前曾建议过: http://weblogs.java.net/blog/jhook/archive/2006/01/experiment_goin.html

这将有助于 JSF 摆脱“慢吞吞”的污名,并且 帮助跟上当前的技术趋势(无状态架构)。

【讨论】:

  • 这种情况下真的需要 JSF 吗?
  • 无状态 JSF 只是 JSF 的 mojarra 实现的扩展。因此,您的页面将加载超快,因为视图不会每次都重新构建/修改,并且您还可以告别那些陈旧的视图(如果您使用服务器状态保存模式),同时您可以享受使用 JSF 快速和轻松开发的所有其他优势。查看链接了解详情
猜你喜欢
  • 1970-01-01
  • 2010-10-27
  • 2013-05-24
  • 1970-01-01
  • 1970-01-01
  • 2010-09-26
  • 1970-01-01
  • 1970-01-01
  • 2010-10-12
相关资源
最近更新 更多