【问题标题】:What is the default for FACELETS_REFRESH_PERIOD?FACELETS_REFRESH_PERIOD 的默认值是什么?
【发布时间】:2012-10-23 14:43:32
【问题描述】:

在 JSF 应用程序中,参数 javax.faces.FACELETS_REFRESH_PERIOD 可用于启用/禁用 XHTML 文件的自动重新加载。

我目前正在研究生产部署的正确配置,无意中发现我们目前即使在生产中也以 FACELETS_REFRESH_PERIOD=1 运行,这显然不是一个好主意。

这就引出了一个问题:这个参数的默认值是多少?

理想情况下,为了简单起见,我想从生产配置中省略 FACELETS_REFRESH_PERIOD,并希望它使用“安全”的默认值 -1。但是,情况似乎并非如此,因为没有该参数,刷新似乎已启用(Mojarra 和 MyFaces 都有)。

我检查了 JSF 规范,虽然它描述了参数,但它没有给出默认值。这是规范中的故意遗漏吗?

【问题讨论】:

    标签: performance jsf configuration myfaces mojarra


    【解决方案1】:

    默认值取决于实现。

    鉴于您使用的是 Mojarra,您可以在 com.sun.faces.config.WebConfiguration 类中找到默认值:

    768         FaceletsDefaultRefreshPeriod(
    769               "javax.faces.FACELETS_REFRESH_PERIOD",
    770               "2"
    771         )
    

    (行号来自 Mojarra 2.0.0)

    因此默认为2。我在任何 Mojarra 文档中都找不到这个。可能值得向 Mojarra 伙计们发布 issue report 以更好地记录它。

    MyFaces 根据its documentation 也有一个默认值2


    更新:从 Mojarra 2.2.11 开始,如果项目阶段为 Production,则默认值设置为 -1。另见issue 3788

    【讨论】:

    猜你喜欢
    • 2018-06-22
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    相关资源
    最近更新 更多