你可能会有一定的属性,是使用对开发商机、不同开发商到开发,另一套用于一个暂存环境,还有一个生产环境。

在弹簧的应用程序也可以有豆子,你想要载于本地环境,而不是在一个生产环境,反之亦然。

你怎么处理呢?你使用单独的文件,ant/家资源的过滤或其他的方法?

有帮助吗?

解决方案

我只是把各种性质在JNDI。这种方式的每台服务器可配置和我可以有一个战的文件。如果所列的特性是大的,然后我将主持的性质(或XML)文件的另一个服务器。我会用JNDI指定的URL文件使用。

如果你正在创建不同的应用程序的文件(战争/耳朵)对每一个环境,那么你不部署同一场战争/耳朵,你的测试。

在我的一个应用程序,我们使用多种其他服务。我只是把根url在JNDI。然后在每个环境,服务器可配置到与适当的休息服务的环境。

其他提示

我只是使用不同的春XML配置文件每台计算机,并确保所有位置的数据之间有所不同机所引用的咖啡豆,载这些弹的配置文件。

例如,我有一个网络应用程序连接到一个Java马绍尔群岛共和国接口的另一个应用程序。我的程序得到的地址这个其它应用程序的最低安置补助界通过一个豆配置的弹簧XML配置文件。我的两个应用程序和其他应用程序已经开发、测试和生产情况,所以我有三个构成文件对我的应用程序--一个对应的配置适当的生产实例,一个试验实例,以及一个用于开发的实例。

然后,唯一的事情,我需要保持直是其结构的文件被部署到其机。迄今为止,我还没有任何问题的战略创建的蚂蚁的任务,处理复制的正确配置文件到位之前产生我的战争文件;因此,在上述例子中,我已经三个蚂蚁的任务,即产生的生产的战争,一个产生于开发战争,并产生测试的战争。所有三项任务处理的复制权的配置文件到正确的地方,然后叫同一个的下一个步骤,其编制应用程序并创建的战争。

希望这使得一些感觉...

我们使用的属性文件的特定环境和有蚂蚁建立选择正确的时设置的建筑物的罐/战争。

环境特定的东西也可以通过目录服务(JNDI),这取决于你的应用程序服务器。我们使用tomcat和我们的数据定义在Tomcat的只读JNDI执行情况。弹簧使得查找非常容易。

我们还使用蚂蚁的战略,为建设不同的网站(differeing的内容,安全角色,等等),从同一来源的项目。

有一件事导致我们有点麻烦,这个建设战略,那就是,经常的文件和目录并不存在,直到建立运行,所以它可以使它难以写真正的集成试验(使用同样的春天设立了作为部署时),是可运行的内部环境。你也错过了一些IDE的能力,以检查是否存在的文件,等等。

我用行家要过滤出来的资源下src/main/资源在我的项目。我用这个结合的财产的文件中定制的属性,在我的弹簧基础的项目。

为默认基础的,我有一个属性文件在我的家目录,专家随后使用,作为替代(这样的事情就像我的当地Tomcat安装找到正确的).测试服务器和生产服务器都是我的其他文件。一个简单的 -Pproduction 是所有然后,它需要建立一个应用对于我的生产服务器。

使用不同性质的文件和使用蚂蚁更换的过滤器,将做更换基于环境的建立完成。看看 http://www.devrecipes.com/2009/08/14/environment-specific-configuration-for-java-applications/

独立的配置文件,存放在来源控制的存储库,并更新。通常配置并不改变难之间的一个版本,并在下一个,所以同步(即使是通过一方面)是不是真的一个主要问题。

对于高度可扩缩系统在生产环境中我会 严重 建议的一个方案,其配置的文件被保留在模板,并作的一部分,建立脚本,这些模板都是用来呈现的"最后"的配置文件(所有环境中都应使用相同的进程)。

我最近还用于家用于替代的配置用于居住或临时的环境。 生产配置家使用配置文件.希望这有所帮助。

我用蚂蚁的副本,有一个过滤器的文件。在录用配置文件的变量与我有一个目录的文件为每一个环境。建立知道脚本env,并使用正确的可变的文件。

我有不同的配置文件夹中持有的配置目标的部署,和我使用蚂蚁选择一个期间使用的文件复制的阶段。

我们使用不同的蚂蚁目标用于不同的环境。我们做的方式可能会有点不雅但它的工作。我们会告诉某些蚂蚁目标的过滤出不同的资源文件(这是你怎么可能排除某些豆被载入),载不同的数据库的性质,并载不同的种子数据纳入数据库。我们真的没有一只蚂蚁"专家"的运行,但我们能够执行我们建立不同的配置从一个单一的命令。

一个解决方案我见过用的是配置临时的环境,以便它完全相同的生产环境。这意味着每个环境有VLAN与同一IP范围,以及机器上的角色的同一IP地址(如该数据库集群IP总是192.168.1.101在每个环境)。防火墙映面向外部的地址的网页服务器,以便通过交换机电脑上的文件在同一网址可以用来- http://www.myapp.com/webapp/file.jsp 会去或者临时或生产,这取决于哪个主人的文件,你不得不换。

我不确定这是一个理想的解决方案,这是相当繁琐的维持,但这是一个有趣的一个以注意。

Caleb P和JeeBee可能有你的最快的解决方案。加上您没有设置不同的服务或点到的文件上不同机器。您可以指定环境,通过使用美元的{用户。名}变或通过指定的个人资料-D论蚂蚁或家.

此外,在这种设置,可以有一般性文件,以及压倒一切的性质文件的特定环境。这两个蚂蚁和家支持这些能力。

不要忘了调查相关-这是特别有用的环境中JNDI是不是可以

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top