如何迭代激活规范的自定义属性?实际上我想获得" 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')
答案 0 :(得分:2)
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