OmniFaces CombinedResourceHandler需要很长时间才能加载

时间:2016-03-07 12:37:31

标签: jsf caching omnifaces bootsfaces combinedresourcehandler

我使用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的<h:head>中拥有CSS内容。

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

CombinedResourceHandler内启用了faces-config。应用程序处于Production模式,并且每次页面上的每次重新加载都会花费很多时间来下载组合的css和js文件,如附图所示:

Pageload

因此整个页面加载比没有CombinedResourceHandler的情况高出两到三倍。我唯一可以想象的是我使用它完全错了。但是我的失败在哪里?

1 个答案:

答案 0 :(得分:4)

这些上下文参数不正确。这些仅适用于按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上的文档。