【问题标题】:Modify name space bindings using wsadmin Jython使用 wsadmin Jython 修改名称空间绑定
【发布时间】:2016-01-02 02:52:00
【问题描述】:

任务是使用 wsadmin (Jython) 修改名称空间绑定。 我有几个范围服务器的字符串绑定。我计划列出现有的绑定;添加/修改目标绑定。

我可以列出它们:

for ns in AdminConfig.list( 'NameSpaceBinding' ).splitlines() :
    name = AdminConfig.showAttribute( ns, 'name' )
    stringToBind = AdminConfig.showAttribute( ns, 'stringToBind' )
    print '%s="%s"' % ( name, stringToBind )

我可以新建一个:

server1 = AdminConfig.list('Server')
print AdminConfig.create('StringNameSpaceBinding', server1, [['name', 'binding2'], ['nameInNameSpace', 'myBindings/myString'], ['stringToBind', "This is the String value"]])
AdminConfig.save()
  1. 如果存在绑定,如何修改现有绑定?
  2. 如何删除绑定?

我想这可以通过 AdminConfig.modify 和 AdminConfig.remove 来完成。 链接:

  1. 来自 IBM 的文档:Configuring namespace bindings using the wsadmin scripting tool
  2. 使用 jacl 修改绑定:Configuring namespace binding

【问题讨论】:

    标签: websphere jython wsadmin


    【解决方案1】:

    我自己设法做到了。我在 Jython 方面没有经验,但它确实有效。脚本需要 4 个参数:作用域的目标服务器、绑定名称、绑定值和名称空间中的名称:

    server = sys.argv[0]
    bindingName = sys.argv[1]
    bindingValue = sys.argv[2]
    bindingNameSpace = sys.argv[3]
    
    # Obtain the "simple" server name
    def getServerName(s):
        return AdminConfig.showAttribute(s, 'name')
    
    # Add binding
    def addBindingsToServer(s):
        for ns in AdminConfig.list( 'NameSpaceBinding' ).splitlines() :
            if bindingName == AdminConfig.showAttribute( ns, 'name' ):
                print "Removing existing binding from Server %s" % getServerName(s)
                AdminConfig.remove(ns)
    
        # Create binding
        print "Adding binding to Server %s" % getServerName(s)
        print AdminConfig.create('StringNameSpaceBinding', s, [['name', bindingName], ['nameInNameSpace', bindingNameSpace], ['stringToBind', bindingValue]])
    
    # Set server and call function
    server = AdminConfig.getid('/Server:'+server+'/')
    addBindingsToServer(server)
    
    # Save changes
    if (AdminConfig.hasChanges()):
        AdminConfig.save()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-26
      • 1970-01-01
      • 2012-07-01
      • 2019-05-12
      • 1970-01-01
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多