【问题标题】:Configure argument class to use on development/production配置参数类以用于开发/生产
【发布时间】:2013-03-15 10:22:30
【问题描述】:

我的课程在开发和生产模式上应该有不同的参数值。据我所知,我可以使用 facesconfig.xml 将参数传递给 ManagedBeans 但我使用注释而不是 *.xml 配置文件,我不想混合这两种解决方案。这样做的最佳解决方案是什么?我想使用内置的 JavaEE/JSF 机制而不是创建新的配置文件。我将不胜感激。

我的应用程序使用 JSF2/JPA 并部署在 OpenShift 服务器上。

【问题讨论】:

    标签: jakarta-ee jsf-2


    【解决方案1】:

    可以使用@ManagedProperty注解获取上下文参数:

    @ManagedProperty(value = "#{initParam['javax.faces.PROJECT_STAGE']}"
    private String stage;
    
    // getter and setter
    

    您的stage 字段将具有DevelopmentProduction 的值,因此请根据您的意愿使用它们。

    【讨论】:

    • 谢谢。我会尝试使用它。你能告诉我在生产/开发模式下传递不同参数而不需要重新编译应用程序(*.war)的最佳解决方案是什么?
    • @pepuch 您可以添加全局资源(例如添加到 tomcat 的 server.xml 中)并从 JNDI (initialContext.lookup("java:comp/env/myvar")) 中读取该属性。对于您的服务器,请查阅其手册,我对 OpenShift 不熟悉。
    猜你喜欢
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 2018-08-20
    • 2015-07-17
    • 2017-08-18
    相关资源
    最近更新 更多