我应该为j2ee应用服务器配置文件实现源代码管理吗?

时间:2009-01-19 04:48:17

标签: java version-control java-ee configuration-management

对于典型的J2EE Web应用程序,数据源连接设置存储为应用程序服务器配置的一部分。

有没有办法对这些配置细节进行版本控制?我希望更多地控制数据源和其他应用程序服务器配置更改。

这样做的标准做法是什么?

7 个答案:

答案 0 :(得分:1)

使用WebSphere时,我们发现最好的方法是编写脚本部署脚本,并将脚本置于版本控制下,并为每个目标环境添加响应文件。

答案 1 :(得分:1)

通过版本控制跟踪应用程序服务器的配置更改是一件好事。但是,它确实意味着所有更改都是通过脚本而不是管理Web界面完成的。我推荐

http://www.ibm.com/developerworks/java/library/j-ap01139/index.html?ca=drs-

作为关于此主题的优秀背景信息文章。

更新:就在最近,第2部分已在此发布:http://www.ibm.com/developerworks/java/library/j-ap02109/index.html?ca=drs-

答案 2 :(得分:1)

Websphere可能很棘手,因为目录结构是乱七八糟的文件 - 通常似乎有重复,很难确定哪个是备份/恢复所需的魔术文件。如何解决这个问题不应该减少这样做的必要性。 - 这是肯定的。

答案 3 :(得分:0)

我们的(Spring)应用程序在spring配置文件中有一个硬编码的jndi名称。这样,可以将相同的ear部署到dev,qa和prod环境中,您不必担心数据库连接细节。

应用服务器管理员确保根据该jndi名称注册数据源,并在每个环境中根据需要提供连接详细信息。

答案 4 :(得分:0)

但是,这如何让我管理应用程序服务器中数据源配置的更改。这是一个场景:

  1. DBA更改数据库服务器的连接密码。

  2. Webspehere / Weblogic管理员通过管理员控制台对服务器配置进行相应的更改。

  3. 上述更改不受版本控制,因此无法了解此类更改的历史记录。

    问题不在于如何配置应用程序,而在于如何对配置更改进行版本控制。对于简单的项目来说,这听起来有点过分,但对于某些项目来说,控制这些变化确实会成为一个问题。

答案 5 :(得分:0)

任何时候你问自己“X应该在版本控制中”,默认答案是“是”。

要获得更精确的答案,请问自己:是由人创建的文件(如源文件或文档)还是由其他程序生成的文件(如目标文件或分发PDF)?

由人员创建和/或维护的文件应该在配置控制之下。

答案 6 :(得分:0)

我们一直在为应用服务器设置使用版本控制。这是一个名为WLST(weblogic脚本工具)的工具,它是weblogic服务器发行版的一部分。域配置存储在Jython脚本中,该脚本可以通过命令行轻松执行,因此可以与我们的构建工具maven集成。

创建预配置的运行weblogic域只需要执行maven目标。错误配置的jdbc连接或错误的jms目标参数的所有烦人问题都消失了。您将始终拥有与给定时间的源代码匹配的appserver配置。您永远不需要记住必须为您正在处理的项目的特定版本应用哪个应用服务器设置。

我真的推荐这个。

我也想知道,如果有其他应用服务器可用的类似解决方案。据我所知,有一种方法可以通过蚂蚁进行玻璃鱼。如何实现JBoss?