FACELETS_REFRESH_PERIOD的默认值是多少?

sle*_*ske 13 performance configuration jsf myfaces mojarra

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

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

这导致了一个问题:此参数的默认值是多少?

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

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

Bal*_*usC 13

默认值取决于实现.

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

768         FaceletsDefaultRefreshPeriod(
769               "javax.faces.FACELETS_REFRESH_PERIOD",
770               "2"
771         )
Run Code Online (Sandbox Code Playgroud)

(行号来自Mojarra 2.0.0)

因此默认为2.我在任何Mojarra文档中都找不到这个.向Mojarra人发布问题报告以更好地记录它可能是值得的.

MyFaces根据其文档也有默认值2.


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