【问题标题】:OmniFaces CombinedResourceHandler takes long time to loadOmniFaces CombinedResourceHandler 需要很长时间才能加载
【发布时间】:2016-03-07 12:37:30
【问题描述】:

我将 OmniFaces 2.2 与 PrimeFaces 5.3 和 BootsFaces 0.8.1 一起使用。由于建议将CombinedResourceHandler 与 BootsFaces 一起使用,因此我尝试按照 BootsFaces 说明首先使用:http://showcase.bootsfaces.net/integration/OmniFaces.jsf

<context-param>
    <param-name>org.omnifaces.COMBINED_RESOURCE_ACTIVATE_RESOURCE_CACHING</param-name>
    <param-value>true</param-value>
</context-param>
<context-param>
    <param-name>org.omnifaces.CACHE_SETTING_APPLICATION_MAX_CAPACITY</param-name>
    <param-value>30</param-value>
</context-param>
<context-param>
    <param-name>org.omnifaces.CACHE_SETTING_APPLICATION_TTL</param-name>
    <param-value>86400</param-value>
</context-param>

在我的应用程序中,我使用自己的 JS 库并在我的布局/模板 XHTML 的 &lt;h:head&gt; 中拥有自己的 CSS 内容。

<h:outputStylesheet library="css" name="custom.css"/>
<h:outputScript library="scripts" name="js/custom_scripts.js" target="head"/>

CombinedResourceHandlerfaces-config 中启用。该应用程序处于Production 模式,并且在每个页面上的每次重新加载时,页面加载都会花费大量时间来下载组合的 css 和 js 文件,如您在附图中所见:

所以整个页面加载量是没有CombinedResourceHandler 的两倍到三倍。我唯一能想象的是我完全错误地使用它。但我的失败在哪里?

【问题讨论】:

标签: jsf caching omnifaces bootsfaces combinedresourcehandler


【解决方案1】:

那些上下文参数不正确。这些仅在您按照BootsFaces own instructions 修改 OmniFaces 2.0 时适用。

自 OmniFaces 2.1 起,该解决方案已按照 issue 100 进行集成,并且代码和配置已被简化,因此只需以下上下文参数即可启用组合资源处理程序缓存:

<context-param>
    <param-name>org.omnifaces.COMBINED_RESOURCE_HANDLER_CACHE_TTL</param-name>
    <param-value>86400</param-value>
</context-param>

另请参阅CombinedResourceHandler showcase 上的文档。

【讨论】:

  • 感谢您的提示。我们将尽快更新我们的 BootsFaces 展示。正如您 @BalusC 所指出的,如果您遵循所有这些说明,我们的说明就会起作用 - 但显然会令人困惑。
最近更新 更多