Java EE Web应用程序和环境配置

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

Hello stackoverflow用户,

我发现自己正在使用Java EE Web应用程序,并且我知道我的应用程序将被部署到多个环境中这一事实。每个环境的某些功能配置可能略有不同,例如远程Web服务URL。另外,我希望-如果可能的话-满足以下2个属性:

  1. 每个环境配置都不应在Web应用程序存储库中

    这是因为我觉得它不属于那里。我不想在源代码旁边管理n配置。而且,如果那里有秘密,我不希望每个开发人员都看到它们...

  2. 加强配置的完整性

    如果我说我需要某个配置参数/资源,那么如果不提供它,将毫无意义。在这种情况下,我不希望我的应用程序启动。

请,可以让更多知识渊博和经验丰富的人帮助我,并将我推向正确的方向吗?


我到目前为止的发现

自然,我已经花了一些时间寻找答案...

Spring框架

我知道spring提供了Environment类作为特定于环境的配置的抽象。但是,我没有使用Spring框架,也没有描述如何将这种配置放在Web应用程序之外。

Java EE JNDI服务

根据Java EE platform specification,正确的方法是在我的env-entry中使用resource-refresource-env-refWEB-INF/web.xml元素,并将其绑定/设置为Web应用程序容器配置中的值。

这听起来非常好,除了我不知道如何强制执行此配置的完整性。我的意思是,我声明了上述元素,以告诉部署程序我需要它们,但我发现(在tomcat上进行了测试)当某些资源(例如resource-env-ref)未绑定时,应用程序仍在部署(并且工作不正确)。

但是,如果没有更好的方法,那感觉仍然是我能找到的最好的东西。 : - |

java java-ee configuration
1个回答
0
投票

我采用了JDNI方法。

我通过引入自定义ServletContextListener实现添加了对配置的验证。

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