2008-11-21 77 views
3

我有一组EJB和其他Java类,需要根据部署它们的系统环境进行不同配置:生产,测试或实验室。配置信息包括URL和数据库连接信息等内容。配置Java企业应用程序的最佳方式

我们希望在每个环境中部署相同的确切产品(EAR文件),然后让代码找出它的位置和配置应该是什么,而无需联系每个部署服务器环境做出改变。

以集中,可靠,易于维护的方式配置所有这些组件的最佳方式是什么?

感谢您的想法。

回答

0

数据库连接池信息的存储/配置方式取决于应用程序服务器供应商。将其他可变的东西放在类路径的属性文件中。

2

最好的恕我直言,就是使用JNDI条目。

您可能需要重新编写应用程序的某些部分,以使用论文项目,而不是普通的增值经销商,但与此设置:

  • 配置服务器无关性:每个供应商提供自己的实现,但spec是一个标准。
  • 在集群环境中,配置可以在集群范围内的JNDI树被持久化(见的JBoss)
  • 配置可以直通的WebAdmin,无需重新启动服务器进行更改。
0

如果您正在向某个容器的三个不同实例部署完全相同的EAR,那么您将不得不编辑部署设置,因为部署过程无法知道您的三个中的哪一个您希望在特定部署中使用的版本。

如Piere-Yves所述,部署设置应该放入JNDI条目中。

如果我是你,我会让我的部署脚本(Ant?)正确地填充JNDI条目,具体取决于您要部署到的环境。

相关问题