Dynamic 使用JNDI在运行时动态更改项目阶段值

Dynamic 使用JNDI在运行时动态更改项目阶段值,dynamic,jsf-2,jndi,websphere-8,Dynamic,Jsf 2,Jndi,Websphere 8,我需要根据环境,使用JNDI动态地(在运行时)更改项目阶段的值。据我所知,JNDI将覆盖web.xml中定义的内容。是否有文档/链接可以帮助我编写代码?我正在使用WebSphere8.5 在一些示例中,我已经看到它被定义为resource ref,但我不确定我是否理解如何将其与JNDI一起使用,以使其工作并在运行时更改值 有人能帮我吗?正如JSF2.0规范所述,您可以通过JNDI条目覆盖上下文参数javax.faces.PROJECT\u STAGE,该条目通过参考java:comp/env/J

我需要根据环境,使用JNDI动态地(在运行时)更改项目阶段的值。据我所知,JNDI将覆盖web.xml中定义的内容。是否有文档/链接可以帮助我编写代码?我正在使用WebSphere8.5

在一些示例中,我已经看到它被定义为resource ref,但我不确定我是否理解如何将其与JNDI一起使用,以使其工作并在运行时更改值


有人能帮我吗?

正如JSF2.0规范所述,您可以通过JNDI条目覆盖上下文参数
javax.faces.PROJECT\u STAGE
,该条目通过参考
java:comp/env/JSF/ProjectStage
查看

要覆盖上下文参数,需要在web.xml文件中定义以下资源环境引用:

<resource-env-ref>
   <description />
   <resource-env-ref-name>jsf/ProjectStage</resource-env-ref-name>
   <resource-env-ref-type>java.lang.String</resource-env-ref-type>
</resource-env-ref>
或者在应用程序安装期间,在步骤中为资源环境引用提供映射


有关此主题的详细讨论,请查看什么是“项目阶段”?您希望通过JNDI管理哪一个确切的配置?比我所能尝试的更好地解释项目阶段。我想确保在生产中,它将是“生产”。当使用web.xml上下文参数时,许多应用程序都被“开发”的价值所感动。谢谢,Gas。我就是那个在dW上问这个问题的人,因为我在这里没有得到答案。:)我非常感谢您和Brian为我解决这个问题提供的帮助,现在我也理解了resource-ref和resource-env-ref之间的区别。不客气。我怀疑:-)。我只是在这里创建了一个简短的版本,这样其他人也会觉得更简单。谢谢。你回答的很好,所以这里有一个描述。我只是想将链接添加到dW post,以便其他人可以找到它。但现在,他们也有了答案。
<resource-ref name="jsf/ProjectStage" binding-name="jsf/ProjectStage" />