【问题标题】:Deploying Multiple Environments in Spring-MVC在 Spring-MVC 中部署多个环境
【发布时间】:2012-03-04 08:39:12
【问题描述】:

目前所有的网络应用都使用单独的配置文件进行部署:

<!-- <import bean.... production/> -->
<import bean... development/>

这有缺点,即使你只需要换出一个配置文件,我相信每个人都熟悉(想知道刚刚部署而不通过 XML 搜索就是其中之一)

我想将日志记录添加到我的应用程序中,该应用程序基本上说“在生产模式下运行”,并说明部署的服务及其工作模式。

RUNNING IN PRODUCTION MODE 
Client Service - Production
Messaging Service - Local

等等……

这在 Spring 中是否可以使用常规部署(在服务器上发动战争)?人们还做了哪些其他事情来管理部署和软件配置?

如果没有,您还可以通过哪些其他方式实现类似的目标?

【问题讨论】:

    标签: java deployment spring-mvc configuration-management


    【解决方案1】:

    是的。您使用PropertyPlaceholderConfigurer 动态添加属性并在每个环境中拥有不同的属性文件。例如:

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
      <property name="location" value="classpath:environment.properties"/>
    </bean>
    

    这个是从类路径加载的,它可能对您有用,也可能不取决于您启动应用程序的方式。因此,您可以在其中添加如下属性:

    environment.message=DEVELOPMENT ENVIRONMENT
    

    然后,您可以通过几个选项来将其发送到网页。可能最简单的方法是使用拦截器添加请求属性并从 Spring config 中注入 $(environment.message} 的值。

    无论如何,希望这能为您指明正确的方向。

    【讨论】:

      【解决方案2】:

      这也可以使用 Spring 3.1 中添加的 profiles 功能。见here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-01-24
        • 2015-07-29
        • 2013-01-27
        • 1970-01-01
        • 2021-10-08
        • 1970-01-01
        • 2016-10-13
        相关资源
        最近更新 更多