首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java Web应用程序配置模式

Java Web应用程序配置模式
EN

Stack Overflow用户
提问于 2009-10-14 21:02:59
回答 7查看 22.5K关注 0票数 61

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

作为一些背景知识来帮助澄清我的问题,我使用了几个大型的java web应用程序,它们在任何给定的发布周期中经历了6个不同的环境:开发、集成、QA、性能,并最终部署到多个生产服务器上。在每个环境中,配置都需要更改。目前,每个部署的大多数配置更改都是手动完成的,这既耗时又容易出错。

有没有办法消除这个过程中的手动干预?

EN

回答 7

Stack Overflow用户

发布于 2009-10-29 02:22:47

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

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

票数 31
EN

Stack Overflow用户

发布于 2009-10-14 21:23:46

这在很大程度上取决于web应用服务器提供给您的选项。我们有多个使用不同JDBC URL的JBoss环境,所有服务器上的JNDI名称都保持不变,只是本地实例上的配置发生了变化,所以不同版本之间没有任何问题。

我想简短的答案是,最好的做法是将配置外部化,并为每个服务器保存一个包含正确设置的良好文件,然后让web应用程序读取该配置。外部化和读取的确切性质将取决于特定的配置和应用程序服务器。

编辑:这些配置并不作为war (在我们的例子中是ear)的一部分存在,因此它们不会被覆盖。

票数 6
EN

Stack Overflow用户

发布于 2009-10-26 17:08:59

首先,将经常更改的所有配置设置放在一个位置。如果您需要同时设置JNDI、编辑数据库值和修改属性文件,以完成配置,那么这真的很困难。请选择最易于编辑且更易于验证所有内容是否正确设置的介质。我想说属性文件是最好的解决方案。你可以很容易地编辑它们,你只需要快速浏览一下它们就可以看到一切都是正常的。如果您选择属性文件,请仔细为它们选择一个标准位置,并为路径分配一个环境变量。

如果您有一个简单的测试来验证所有设置是否正确,这也会有所帮助。例如,您可以有一个显示配置参数并执行一些基本测试的测试页面,比如尝试连接到数据库或远程服务器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1568985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档