python - WLST执行存储变量 "connect()"语句

标签 python weblogic wlst

所以,我将环境变量从 bash 传递到 python;

#!/usr/bin/env python2
import os

#connect("weblogic", "weblogic", url=xxx.xxx.xxx.xxx:xxxx)
os.environ['bash_variable']

通过 wlst.sh 我可以打印导出的 bash_variable,但是如何执行存储的变量?基本上,我试图删除原始的连接语句并传递一个包含上述信息的变量。谢谢

最佳答案

问题是,为什么不使用变量作为参数来调用脚本并使用 sys.argv[] ?

举个例子,像这样。

import os
import sys
import traceback
from java.io import *
from java.lang import *




wlDomain = sys.argv[1]
wlDomPath = sys.argv[2]
wlNMHost = sys.argv[3]
wlNMPort = sys.argv[4]
wlDPath="%s/%s" %(wlDomPath,wlDomain)
wlNMprop="/apps/bea/wls/scripts/.shadow/NM.prop"

try:
    print "Connection to Node Manager"
    print ""
    loadProperties(wlNMprop)
    nmConnect(username=NMuser,password=NMpass,host=wlNMHost,port=wlNMPort,domainName=wlDomain,domainDir=wlDPath,mType='ssl',verbose='true')
except:
    print "Fatal Error : No Connection to Node Manager"
    exit()

print "Connected to Node Manager"

NM.prop 文件是一个 600 文件,其中包含 NM 的用户名/密码。

编辑:

据我了解,您想做这样的事情:

URLS = ['t3s://Host1:Port1','t3s://Host2:Port2','t3s://Host3:Port3']
for urls in URLS:
    connect('somebody','password',urls)
    {bunch of commands}
    disconnect()

列表 URL 的值将由环境定义。

在我看来,你有 3 个选择:

  1. 每个环境有 1 个脚本,URL 列表的保存或多或少相同
  2. 有 1 个脚本,但在 sys.argv[1] 上有条件分支(环境作为参数)并在那里创建列表。
  3. 有 1 个脚本,根据环境为每个环境使用参数文件。每个参数文件都包含相关列表。

类似的事情:

propENV = sys.argv[1]
propPath = "/path1/path2"
propFile = "%s/%s" %(propPath,propENV)

loadProperties(propFile)

我自己可能会使用属性文件选项,因为从操作的角度来看它更灵活......至少恕我直言。

关于python - WLST执行存储变量 "connect()"语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22359827/

相关文章:

python - Hashlib:在 md5.update() 中使用的 block 的最佳大小

java - 从 java 发送到 MQ 总是使用默认安装的 IBM MQ 版本 6.0 的 mqm 用户标识

java - 在 WebLogic Server v10.3 中注入(inject) EJB 3.0

middleware - 连接到 weblogic 服务器时出现错误 "Could not find or load main class weblogic.Admin "

python - 如何从一个 wlst 脚本调用另一个 wlst 脚本?

python - 如何防止 PyMySQL 转义标识符名称?

python - 子进程登录到远程主机而不是在 python 中出现

python - 如何用 tensorflow 准确地四舍五入

logging - 在 weblogic 启动期间将 keystore 密码作为 JVM args 传递

jython - 为什么在 WLST (wls12.1.1) 中引发异常时堆栈跟踪不可用