|
|
1
4
然后,另一个建议是:如何将您的Spring配置分成两部分:一个发送给每个人的通用文件和一个包含不同bean定义的特定于部署的文件。所以你可以:
然后,当系统管理员部署时,他们选择 一 关于部署????.xml文件,具体取决于方案并将其放到配置目录中 您的应用程序将被配置为使用通配符表达式来加载applicationcommon.xml文件和config目录中的任何其他xml文件,同时使用它们来构建应用程序上下文(而不需要特别注意它们是哪个实际文件)。 不同的部署XML文件将存在于源代码管理中,而sys admins除了知道自己总是部署命名部署之外,不需要任何详细的知识?你说什么?适合该方案的.xml文件。 (如果是Web应用程序,您可能希望将“config”目录与Web应用程序本身分开,以便重新部署应用程序不会覆盖特定于部署的配置) 当然,这个部署可以全部编写脚本,以便通过命令行参数选择正确的文件,例如… |
|
|
2
3
一种解决方案是在Spring配置中使用PropertyOverrideConfiger。这允许您提供一个单独的属性文件,该文件可以在启动应用程序上下文时覆盖Spring配置中的值。这样,您就可以在applicationcontext.xml中使用标准配置(发送给每个人),以及一个附加的属性文件,该文件允许您在每次部署的基础上自定义配置,而无需更改主配置文件。
|
|
|
3
1
对于我们的产品,我们有同样的使用案例。
我们为每一组配置创建了不同的applicationContext文件集。我们的上下文文件已经分为四个不同的文件(
在这个产品中,我们使用Ant构建部署文件(.war)。我们设置了
使用生成部署文件
在Ant中,我们有类似这样的逻辑来设置要用于“配置套件”名称的属性:
由于此产品是Web应用程序,因此
|
|
|
4
0
我认为,您要么可以选择发布不同版本的产品,要么继续使用一种支持这两种消息传递系统的产品。 我倾向于单一产品。如果您不希望客户管理员设置定义消息传递系统的参数,那么您可以提供一个特定于客户的配置文件,或者将该信息附加到您的许可证文件(如果有)中,这样您就可以确保客户使用正确的版本。 只有当消息传递系统依赖于非免费的第三方库时,我才会构建不同的产品,只是为了防止许可证问题。 |