在JSF应用程序中,参数javax.faces.FACELETS_REFRESH_PERIOD可用于启用/禁用XHTML文件的自动重新加载。
我目前正在研究生产部署的正确配置,并且意外地发现我们目前使用FACELETS_REFRESH_PERIOD = 1进行生产,这显然不是一个好主意。
这导致了一个问题:此参数的默认值是什么?
理想情况下,为了简单起见,我想从生产配置中省略FACELETS_REFRESH_PERIOD,并希望它使用“安全”默认值-1。但是,似乎并非如此,因为没有参数,似乎启用了刷新(使用Mojarra和MyFaces)。
我检查了JSF规范,虽然它描述了参数,但它没有给出默认值。这是规范中的故意遗漏吗?
答案 0 :(得分:13)
默认值取决于实现。
鉴于您正在使用Mojarra,您可以在com.sun.faces.config.WebConfiguration
类中找到默认值:
768 FaceletsDefaultRefreshPeriod(
769 "javax.faces.FACELETS_REFRESH_PERIOD",
770 "2"
771 )
(行号来自Mojarra 2.0.0)
默认为2
。我在任何Mojarra文档中都找不到这个。将issue report发布给Mojarra的家伙以便更好地记录它可能是值得的。
MyFaces根据its documentation的默认值为2
。
更新:如果项目阶段为-1
,则从Mojarra 2.2.11开始,默认值设置为Production
。另请参阅issue 3788。