【问题标题】:Dynamically change variables in WLST script动态更改 WLST 脚本中的变量
【发布时间】:2015-04-13 07:26:24
【问题描述】:

我正在创建一堆 .py WLST 脚本 (15-20),它们将分别检查 Weblogic 环境中的不同设置。例如,密码要求、安全设置、用户属性等。

但是,我想在多个WebLogic 环境中运行这些脚本,它们都具有不同的主机 URL 和凭据。是否有一种简单的方法可以在每个脚本在不同环境中运行时动态更改它们的连接详细信息:

脚本:

connect(x,y,z)

环境 1 中的脚本:

connect('weblogic','welcome1','example-host1:7001')

环境 2 中的脚本:

connect('weblogic','welcome2','example-host1:7001')

这是我在职业生涯的头几年将 stackoverflow 用作资源后第一次在 stackoverflow 上提出问题,如果这个问题描述得不好,敬请见谅。

【问题讨论】:

    标签: python weblogic wlst


    【解决方案1】:

    简单的答案是。在属性文件中保留与环境相关的属性。并使用 Python (Jython) 读取这些属性

    from java.io import FileInputStream
    
    propInputStream = FileInputStream("preprodenv.properties") 
    configProps = Properties()
    configProps.load(propInputStream)
    
    adminHost=configProps.get("admin.host)
    adminPort=configProps.get("admin.port")
    adminUserName=configProps.get("admin.userName")
    adminPassword=configProps.get("admin.password")
    
    # t3 or t3s depends upon your config
    adminURL = "t3://"+adminHost+":"+adminPort
    connect(adminUserName, adminPassword, adminURL)
    

    选项#2

    将环境相关信息保存在属性中并使用读取

    loadProperties('c:/temp/myLoad.properties')
    

    或将其作为参数传递给您的 wlst 脚本 -loadProperties='C:\temp\myLoad.properties'

    什么都行。

    【讨论】:

      【解决方案2】:

      我假设主机名在不同的环境中会有所不同。我们这样做的方法是创建一个“env shell 脚本”,其中包含使用简单 case 语句的映射。然后我们创建一个包装脚本,它在“env shell 脚本”中迭代各种环境。这有帮助还是您需要更多详细信息?

      【讨论】:

      • 如果你能提供更多细节会很有帮助!
      • 举个例子会更好。
      猜你喜欢
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-31
      相关资源
      最近更新 更多