我希望能够为我的java应用程序(tomcat7,spring-mvc)实现无配置部署。例如,现在我们正在考虑为我们部署到的每个环境(prod,stage,dev)创建一个context.xml文件:
context_prod.xml
context_stage.xml
context_dev.xml
context.xml (for localhost)
在我们的每台服务器上,我们都有一个符号链接context.xml
,它指向适当的上下文文件(例如context_prod.xml)。因此,在部署时,我们不必担心更改数据库引用,密钥等。
我觉得这可能是更好的方法;也许是一个内置于春天的人?
答案 0 :(得分:1)
Spring最近添加了处理环境配置的功能:
http://blog.springsource.com/2011/02/11/spring-framework-3-1-m1-released/
这对我来说似乎有点复杂,我已经完成了你在我自己的Spring MVC应用程序中为我们的日志记录所要求的内容。在我的DispatcherServlet配置中,我有这一行:
<context:property-placeholder location="classpath*:/system.properties"/>
<util:properties id="mySystemProperties" location="classpath:/logging/log4j-${system.runMode}.properties" />
system.runMode只是我们创建的一个env变量,在启动时在CATALINA.SH中设置如下:Setting environment variable TESSDATA_PREFIX in Tomcat
然后我使用Spring EL引用我想要的任何值,它适用于每个环境。正如您所看到的,我为日志记录执行了此操作,并且每个环境都有不同的日志记录配置文件。
答案 1 :(得分:1)