Как нацелить WorkManager на несколько кластеров без жесткого указания имени кластера или указания имен кластеров в файле свойств - PullRequest
0 голосов
/ 03 января 2019

У меня есть сценарий WLST для настройки WorkManager и назначения его всем кластерам в домене weblogic.Проблема в том, что у меня есть сотни доменов в нескольких env, поэтому у меня не может быть нескольких файлов свойств.Есть ли способ написать сценарий, чтобы получить сведения о кластере из домена и установить их в качестве цели для созданного рабочего менеджера?

Я попытался получить сведения о кластере, используя ниже, но он перечисляет только один кластер, где настроены 3 кластерав домене.

#
cd ('/Clusters')
Clusters = cmo.getClusters()
for clusters in Clusters:
        svr = clusters.getName()
print svr
#

Вот что я использую:

#
import java.lang.Exception
# Connect to ADMIN
##################
userName=sys.argv[1]
userPW=sys.argv[2]
adminURL=sys.argv[3]
WL_DOMAIN=sys.argv[4]
exists = 'no';
connect(userName,userPW,adminURL)
edit()
startEdit()
cd ('/Clusters')
Clusters = cmo.getClusters()
for clusters in Clusters:
        svr = clusters.getName()
print svr
cd('/SelfTuning/' + domainName)
cmo.createWorkManager('workManager')
cd('/SelfTuning/' + domainName + '/WorkManagers/workManager')
set('Targets',jarray.array([ObjectName('com.bea:Name='+svr+',Type=Cluster')], ObjectName))
activate()
#

Приведенный выше сценарий нацелен на созданный менеджер работ только на один кластер, в котором находится сам домен.3 кластера.Я хотел бы нацелить WM на все кластеры в домене без жесткого кодирования любых имен кластеров.Пожалуйста, помогите!

1 Ответ

0 голосов
/ 03 января 2019

это алгоритмическая проблема. Ваш код неверен.

connect(userName,userPW,adminURL)
edit()
startEdit()
cd('/SelfTuning/' + domainName)
cmo.createWorkManager('workManager')

cd ('/Clusters')
Clusters = cmo.getClusters()

cd('/SelfTuning/' + domainName + '/WorkManagers/workManager')
set('Targets',Clusters)
save()
activate()
...