Попытка получить имя кластера в 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() работал на меня:)

Код в вопросе, кажется, лучший ответ для этого. Т.е. преобразуйте кластер в строку, а затем в подстроку, чтобы получить имя кластера.

Другие вопросы по тегам