FACELETS_REFRESH_PERIOD 的默认值是多少?

问题描述 投票:0回答:1

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

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

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

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

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

performance jsf configuration myfaces mojarra
1个回答
15
投票

默认值取决于实现。

鉴于您使用的是 Mojarra,您可以在

com.sun.faces.config.WebConfiguration
类中找到默认值:

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

(行号来自 Mojarra 2.0.0)

默认值为

2
。我在任何 Mojarra 文档中都找不到这个。可能值得向 Mojarra 人员发布问题报告以更好地记录它。

MyFaces 根据 其文档 还有一个默认值

2


更新:从 Mojarra 2.2.11 开始,如果项目阶段为

-1
,则默认值设置为
Production
。另请参阅问题 3788

© www.soinside.com 2019 - 2024. All rights reserved.