Java Web应用程序配置模式

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (26)

是否有任何模式或最佳实践可用于简化在多个环境中更改Java Web应用程序的配置配置文件。例如JDBC URL,SOAP端点等。

作为一些有助于澄清我的问题的背景知识,我使用了几个大型java web应用程序,这些应用程序在任何给定的发布周期中都可以在6个不同的环境中移动 开发,集成,质量保证,性能并最终部署到多台生产服务器。在每个环境中,配置都需要改变。目前,每个部署的大多数配置更改都是手动完成的,既费时又易于出错。 有什么办法可以从这个过程中进行人工干预吗?

提问于
用户回答回答于

最近我更倾向于使用.NET,所以我的Java很生疏。我很确定这可以在任何语言中进行一些调整。

我们使用.NET配置系统的扩展,使我们能够将环境和/或应用程序特定设置与更全局的配置结合使用。配置系统使用全局设置将每台机器标识为dev,beta或production(默认)。一组按顺序加载的文件,最后一个文件的设置将覆盖先前加载的文件中定义的所有设置。文件按以下顺序加载:

  1. 全局设置
  2. 应用程序特定设置
  3. 特定于应用程序的环境覆盖

所有文件都在源代码控制中,并且由于环境是在应用程序正在运行的计算机上定义的; 因为除非机器配置将其标识为“beta”,否则它不会访问“beta”配置,因此我们可以提升所有配置文件,而不必担心无意中将我们的生产应用程序指向开发数据库。

用户回答回答于

我很惊讶没有人引用Jakarta Commons Configuration API(http://commons.apache.org/configuration/)来回答这个问题。它允许您拥有文件的层次结构(或其他配置来源,如XML,JNDI,JDBC等)。这就是Jeremy Seghi正在谈论的事情,它也为您提供了一种既有默认设置也有本地覆盖的好方法。

最好的部分是它是一个经过测试的工作解决方案,所以你不必自己去制作一些东西。

扫码关注云+社区