This WLST script updates the datasources and Multicase Address for cluster in a Weblogic domain by offline. It can not be used in online mode.
import sys
multicastAddress = raw_input("Multicase Address for cluster: ") # The address should be unique in the network.
db_url = raw_input("BPEL DB URL: ") # example: jdbc:oracle:thin:@db_server:port/sid
infra_username = raw_input("SOAINFRA username: ")
infra_password = raw_input("SOAINFRA password: ") # Password is a plain text, no need to use encrypted password.
orasdpm_username = raw_input("ORASDPM username: ")
orasdpm_password = raw_input("ORASDPM password: ")
#orabam_username = raw_input("ORABAM username: ")
#orabam_password = raw_input("ORABAM password: ")
mds_username = raw_input("MDS username: ")
mds_password = raw_input("MDS password: ")
datasourceList = [['EDNDataSource', infra_username, infra_password],
['EDNLocalTxDataSource', infra_username, infra_password],
['mds-owsm', mds_username, mds_password],
['mds-soa', mds_username, mds_password],
['OraSDPMDataSource', orasdpm_username, orasdpm_password],
['SOADataSource', infra_username, infra_password],
['SOALocalTxDataSource', infra_username, infra_password]]
readDomain(sys.argv[1]) # argv[1] is domain home
for ds in datasourceList:
cd('/JDBCSystemResource/' + ds[0] + '/JdbcResource/' + ds[0] + '/JDBCDriverParams/NO_NAME_0')
cmo.setUrl(db_url)
cmo.setPasswordEncrypted(ds[2])
cd('Properties/NO_NAME_0/Property/user')
cmo.setValue(ds[1])
cd('/Cluster/MyCluster')
cmo.setMulticastAddress(multicastAddress);
updateDomain()
closeDomain()
exit()