【问题标题】:websphere Jython scripting : querying custom properties of activation specificationswebsphere Jython 脚本:查询激活规范的自定义属性
【发布时间】:2014-10-29 18:17:36
【问题描述】:

如何迭代激活规范的自定义属性?其实我想得到“WAS_EndpointInitialState”的值。

asList = AdminConfig.list('J2CActivationSpec').splitlines()
for as in asList:
    asName = AdminConfig.showAttribute(as, 'name')
    # beyond this point it does not work
    propSet = AdminConfig.showAttribute(as, 'resourceProperties')
    propList = AdminConfig.list('J2EEResourceProperty', propSet).splitlines()
    for prop in propList:
        print 'name = ' + AdminConfig.showAttribute(prop, 'name')
        print 'value = ' + AdminConfig.showAttribute(prop, 'value')

【问题讨论】:

    标签: websphere jython wsadmin


    【解决方案1】:

    resourceProperties 属性是一个以空格分隔的字符串,由方括号括起来。以下脚本应该适合您:

    asList = AdminConfig.list('J2CActivationSpec').splitlines()
    for as in asList:
        asName = AdminConfig.showAttribute(as, 'name')
        propList = AdminConfig.showAttribute(as, 'resourceProperties')[1:-1].split()
        for prop in propList :
            print 'name = ' + AdminConfig.showAttribute(prop, 'name')
            print 'value = ' + AdminConfig.showAttribute(prop, 'value')
    

    如果属性名称在其对象 ID 中有任何空格,它可能会中断。

    您可以使用正则表达式处理所有边缘情况,或者尝试已经这样做的 WDR 库 (http://wdr.github.io/WDR/https://github.com/WDR/WDR)。此外,它使您的脚本更具可读性和可维护性。

    使用 WDR,脚本将如下所示:

    asList = listConfigObjects('J2CActivationSpec')
    for as in asList:
        asName = as.name
        propList = as.resourceProperties
        for prop in propList :
            print 'name = ' + prop.name
            print 'value = ' + prop.value
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多