【发布时间】:2014-01-10 07:22:38
【问题描述】:
我想知道是否有任何方法可以动态设置环境变量的值而无需重新启动服务器,以便可以根据当前设置的环境值访问不同的属性文件。
考虑一下这是我的两个属性文件:
config-dev.properties
config-prod.properties
现在由于我已经在每个文件中附加了环境名称,所以我想知道我是否可以动态更改或设置环境名称的值,并且在不重新启动服务器的情况下将使用相应的属性文件。
我知道如何在配置 XML 文件中设置 env.name。
<context:property-placeholder location="classpath:/config-${env.name}.properties>
我想以编程方式更改环境名称,以便在访问时可以使用正确的属性文件。
【问题讨论】:
-
@Hrishikesh 我的问题是我只需要这样做而不需要重新启动应用程序或服务器。所以你对 Prod 和 DEv 使用相同的服务器?是的,实际上我正在尝试将其部署在云(Google App Engine)上,所以通常我无法在那里设置多个服务器。你可以重新加载 spring 上下文,但我不确定这个 prod 是否也是 dev 是个好主意(请参阅stackoverflow.com/questions/534030/…)
标签: java spring jakarta-ee spring-mvc environment-variables