Попытка получить имя кластера в WLST
Я пытаюсь получить имя строкового значения первого кластера источника данных в WLST
cd("/JDBCSystemResources/<datasource name>")
targets = get('Targets')
mytarget = targets[0]
Это отлично работает. Если я использую команду viewMBean "viewMBean(mytarget)", я могу видеть имя в качестве атрибута "имя"
Если я напечатаю значение mytarget, я получу что-то вроде: "com.bea:Name=Cluster-1,Type=Cluster"
Но я не могу понять, как получить имя ("Cluster-1" в приведенном выше примере)
В настоящий момент я не могу думать ни о чем, кроме как получить имя кластера как подстроку строкового представления объекта, что не похоже на то, что нужно делать.
Любая помощь приветствуется.
Обновить:
Пока без ответов я использую это решение, но все еще надеюсь на лучшее
# get the target cluster from the string "com.bea:Name=<clustername>,Type=Cluster"
if len(targets) == 1 :
tstring = str(targets[0])
targetCluster = tstring[13:tstring.find(",Type=Cluster")]
print "targetCluster = "+targetCluster;
else :
raise Exception("Expected single target cluster for datasource. Targets length was "+str(len(targets)))
2 ответа
Ты можешь просто сказать targets[0].getName()
работал на меня:)
Код в вопросе, кажется, лучший ответ для этого. Т.е. преобразуйте кластер в строку, а затем в подстроку, чтобы получить имя кластера.