Dav*_*ert 8 java weblogic startup environment-variables
在Oracle WebLogic中,设置环境变量以便代码可以访问它的最佳方法是什么?我们有运行WebLogic的第三方应用程序,用于查找环境变量.
注意:我们使用节点管理器启动托管服务器.
我宁愿能够在域配置中的某个位置设置它,就像在管理控制台的"服务器启动"选项卡中那样,但似乎没有好地方可以做到这一点.
我可以看到的唯一方法是1.编辑bin/setDomainEnv.sh以导出环境变量2.修改nodemanager.properties以使StartScriptEnabled = true
这样做会强制NodeManager使用/bin/startManagedWebLogic.sh,因此您可以向其添加变量,并在NodeManager启动时拾取它们.但是你也必须在每台机器上都这样做.
想知道是否有更简洁的方法来实现这一点,而不是使用Oracle的启动脚本.
Jas*_*der 11
如果您确定没有使用任何通用框架(如Spring Framework),并且您拥有严格查找环境变量的代码,则必须在Java之前将环境变量设置在任何常用配置文件之外.开始的过程将是期待它的过程.启动Java进程后,环境变量对于该进程是只读的和最终的.
注意:如果整个系统需要环境变量,请使用/ etc/profile,/ etc/bash_profile,/ etc/environment等.请记住,在这些全局位置设置变量需要重新启动节点管理器.一个新的登录.您无需重新启动,但配置文件/环境文件通常仅在登录时获取.
对于仅在一个域或节点内的应用程序,环境变量应该位于服务器的启动脚本中.编辑setDomainEnv.[sh | cmd]或start(Managed)Weblogic.[sh | cmd]是设置WebLogic环境变量的最佳选择.
但是,如果应用程序使用Spring,则会合并系统属性和环境变量.系统属性受到高度鼓励,易于维护和控制.
参考:设置java系统属性的最佳实践是什么,-D或System.setProperty()?
Weblogic Domain环境变量
设置系统属性或环境变量的地方之一是编辑用于启动共享同一WebLogic服务器安装和域的所有节点或服务器的域环境脚本.在<weblogic_domain> /bin/setDomainEnv.sh ,( 在windows上为setDomainEnv.cmd)中,对于环境变量,只需将它们添加到顶部附近并添加注释以记录它们的使用.
export CUSTOM_VAR="test" # UNIX comment to describe environment variable.
Run Code Online (Sandbox Code Playgroud)
对于系统属性,您可以添加将添加到每个服务器的命令行参数,方法是在文件顶部附近为WL_HOME定义附近的EXTRA_JAVA_PROPERTIES添加一行,但是在函数和注释之后.
EXTRA_JAVA_PROPERTIES="-Denv=TEST"
export EXTRA_JAVA_PROPERTIES
WL_HOME="/appl/oracle/middleware/wls/12.1.2.0.0/wlserver"
export WL_HOME
Run Code Online (Sandbox Code Playgroud)
Weblogic特定于节点的环境变量
如果您需要为同一节点管理器启动的每个节点使用不同的环境变量,则必须再次自定义启动脚本.在这种情况下,编辑<weblogic_domain>/bin/startManagedWeblogic.[sh | cmd]并在_export SERVER_NAME_之后插入一些脚本逻辑.这样,您就可以根据SERVER_NAME等推送您的设置.
提示:Windows环境变量与System.getenv(..)不区分大小写.
| 归档时间: |
|
| 查看次数: |
35574 次 |
| 最近记录: |