WASX7129E: 无法在 "DescriptiveProperty" 类型的父对象中创建 "Property" 类型的对象
WASX7129E: Cannot create objects of type "Property" in parents of type "DescriptiveProperty"
我正在使用 wasdmin shell 和 jython lang 在 WAS9 中设置属性。实际上,我已经使用多个 shell 和 jython 脚本创建了一个自动化流程,这有助于我的应用程序设置。
使用 AdminConfig.create() 时,它会抛出以下几个属性的异常:
[1/17/19 17:06:20:032 CET] 00000001 AbstractShell E WASX7120E:来自类型 "DescriptiveProperty" 的父级中带有文本 "com.ibm.ws.scripting.ScriptingException: WASX7129E: Cannot create objects of type "属性” 的异常的诊断信息
" 如下:
com.ibm.ws.scripting.ScriptingException:WASX7129E:无法在 "DescriptiveProperty"
类型的父对象中创建 "Property" 类型的对象
我的代码首先检查 属性 是否已经存在,如果它存在我删除它并创建它,这个想法是我在查看 IBM 的 jython 文件以添加 JVM 属性后得到的。这是我的代码的当前流程。早些时候我曾经检查过 属性 是否已经存在,如果存在,我会修改它,否则会创建它。我从修改块中收到其他错误,这就是我现在使用删除然后创建逻辑的原因。
currentProps = getListArray(AdminConfig.list(property, parent))
for prop in currentProps:
if property == AdminConfig.showAttribute(prop, "name"):
logging.info('Removing existing property from Server')
AdminConfig.remove(prop)
# create new property
logging.info('Creating new property %s', key)
if type:
AdminConfig.create(
property,
parent,
[
[ 'type', type ],
[ 'name', key ],
[ 'value', value ],
]
)
else:
AdminConfig.create(
property,
parent,
[
[ 'name', key ],
[ 'value', value ],
]
)
我很想知道能不能判断哪个属性是描述性的,所以可以用一个if else块来导流。
发生的错误是正确的,必须通过检查父属性的类型来处理。
如果它不是 属性,那么我使用 AdminConfig.modify(),如果它是 属性 类型,那么我使用 AdminConfig.remove() 和 AdminConfig.create() .
if('#DescriptiveProperty_' in parent) or ('#StreamRedirect_' in parent):
AdminConfig.modify(parent,[[ key, value ]]
这解决了问题,不再出现如下错误:
com.ibm.ws.scripting.ScriptingException:WASX7129E:无法在 "DescriptiveProperty"
类型的父对象中创建 "Property" 类型的对象
我正在使用 wasdmin shell 和 jython lang 在 WAS9 中设置属性。实际上,我已经使用多个 shell 和 jython 脚本创建了一个自动化流程,这有助于我的应用程序设置。 使用 AdminConfig.create() 时,它会抛出以下几个属性的异常:
[1/17/19 17:06:20:032 CET] 00000001 AbstractShell E WASX7120E:来自类型 "DescriptiveProperty" 的父级中带有文本 "com.ibm.ws.scripting.ScriptingException: WASX7129E: Cannot create objects of type "属性” 的异常的诊断信息 " 如下:
com.ibm.ws.scripting.ScriptingException:WASX7129E:无法在 "DescriptiveProperty"
类型的父对象中创建 "Property" 类型的对象我的代码首先检查 属性 是否已经存在,如果它存在我删除它并创建它,这个想法是我在查看 IBM 的 jython 文件以添加 JVM 属性后得到的。这是我的代码的当前流程。早些时候我曾经检查过 属性 是否已经存在,如果存在,我会修改它,否则会创建它。我从修改块中收到其他错误,这就是我现在使用删除然后创建逻辑的原因。
currentProps = getListArray(AdminConfig.list(property, parent))
for prop in currentProps:
if property == AdminConfig.showAttribute(prop, "name"):
logging.info('Removing existing property from Server')
AdminConfig.remove(prop)
# create new property
logging.info('Creating new property %s', key)
if type:
AdminConfig.create(
property,
parent,
[
[ 'type', type ],
[ 'name', key ],
[ 'value', value ],
]
)
else:
AdminConfig.create(
property,
parent,
[
[ 'name', key ],
[ 'value', value ],
]
)
我很想知道能不能判断哪个属性是描述性的,所以可以用一个if else块来导流。
发生的错误是正确的,必须通过检查父属性的类型来处理。 如果它不是 属性,那么我使用 AdminConfig.modify(),如果它是 属性 类型,那么我使用 AdminConfig.remove() 和 AdminConfig.create() .
if('#DescriptiveProperty_' in parent) or ('#StreamRedirect_' in parent):
AdminConfig.modify(parent,[[ key, value ]]
这解决了问题,不再出现如下错误: com.ibm.ws.scripting.ScriptingException:WASX7129E:无法在 "DescriptiveProperty"
类型的父对象中创建 "Property" 类型的对象