繁体   English   中英

Java EE web 应用及环境配置

[英]Java EE web applications and environment configuration

您好 stackoverflow 用户,

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

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

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

  2. 强制配置的完整性

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

拜托,有更多知识和经验丰富的人可以帮助我并将我推向正确的方向吗?


到目前为止我的发现

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

Spring 框架

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

Java EE JNDI服务

根据Java EE 平台规范,正确的方法是在我的WEB-INF/web.xml中使用env-entryresource-refresource-env-ref元素并将它们绑定/设置为web 应用程序容器配置。

这实际上听起来很不错,只是我不知道如何强制执行此配置的完整性。 我的意思是,我声明了上述元素,以告诉部署者我需要它们,但我看到(在 tomcat 上测试)应用程序仍然部署(并且工作不正确),当某些,比如 resource-env-ref,未绑定时。

我不知道如何实现它,但是,如果没有更好的东西,它仍然是我能找到的最好的东西。 :-|

我采用了 JDNI 方法。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM