ele*_*ype 5 spring weblogic weblogic12c spring-boot
我正在开发一个Spring Boot应用程序,我必须让它在我们的Weblogic 12c服务器中运行,作为一场战争.
我试图找到一种方法将默认的Spring活动配置文件(此处和此处的信息)传递给应用程序,而无需在计算机本身上设置环境变量.如果可能的话,我希望能够使用Weblogic管理控制台指定此配置文件.
我尝试使用" Environment / Servers / MyServer / Server Start / Arguments"选项,但我无法以这种方式使Spring加载指定的配置文件.我试过了,没有成功:
spring.profiles.active=dev
-Dspring.profiles.active='dev'
-Dspring.profiles.active=dev
-spring.profiles.active=dev
--spring.profiles.active=dev
Run Code Online (Sandbox Code Playgroud)
有没有想过是否可以spring.profiles.active使用Weblogic 传递给Spring?我需要传递" dev"," acc"或" prod".
更新:我会接受一个答案,解释.properties为应用程序配置使用不同文件的任何简单方法,具体取决于运行Sprint Boot应用程序的环境.这些.properties文件可以捆绑在应用程序本身中,也可以是外部的.但我需要至少尽可能触摸Weblogic运行的系统......没有环境变量,理想情况下也不会改变Weblogic文件!理想情况下,解决方案将涉及使用Weblogic管理控制台完成的某种操作,例如,将表示当前环境的参数传递给Spring Boot应用程序,以便使用正确的application.[ENVIRONMENT].properties文件.
更新2:允许每个环境拥有自己的application.properties文件的一种方法是使用部署计划.这可能是推荐的方法.我将补充一点作为答案,但我仍然倾向于采用一种更简单的方法......当我在Weblogic中部署参数时,我无法简单地将参数传递给应用程序!Environment / Servers / MyServer / Server Start / Arguments如果它不能用于那个目的,那么" 选择是什么?
更新3:相关主题.如果我理解正确," Environment / Servers / MyServer / Server Start / Arguments"选项可能仅在启用NodeManager时有效?这可以解释为什么我无法传递该spring.profiles.active=dev变量!
application.properties您可以使用如下方式设置活动配置文件:
# PROFILES
spring.profiles.active= # Comma-separated list of active profiles.
Run Code Online (Sandbox Code Playgroud)
由于您在 WAR 中打包了多个属性文件(不推荐,而是在 war 外部提取动态属性),因此您可以用于@PropertySource(value = "classpath:application.dev.properties")定位应用程序要使用的特定属性文件。
你可以看这里
| 归档时间: |
|
| 查看次数: |
3827 次 |
| 最近记录: |