The steps involved in multi datasource confiuration are as follows:
1. Configure individual datasource
2. Configure a new multidatasource
3. Add the datasources created in steip 1
Keeping more flavor (Object-Orientation) to your script we will create a Class in WLST this time. Are you ready??? I know you guys very intelligents and know all WLST tricks how they works and all!! Lets dive into the process of configuration.
#==========================================
# File name: ConfigMDS.py
# Please change the code (line 38) as per your environment and needs
# Author : Inteligent WLA :)
#=============================================
class MDS:
def __init__(self, nam):
self.nam = nam
def configMDS(self):
n=self.nam
try:
cd('/')
cmo.createJDBCSystemResource(n)
cd('/JDBCSystemResources/'+n+'/JDBCResource/'+n)
cmo.setName(n)
cd('JDBCDataSourceParams/'+n)
set('JNDINames',jarray.array([String(n)], String))
cmo.setAlgorithmType('Failover')
dslist=raw_input('Please enter comma separating Datasources for MDS:')
cmo.setDataSourceList(dslist)
cd('/JDBCSystemResources/'+n)
targetType=raw_input('Target to (C)luster or (S)erver: ')
if targetType in ('C','c') :
clstrNam=raw_input('Cluster Name: ')
set('Targets',jarray.array([ObjectName('com.bea:Name='+clstrNam+',Type=Cluster')], ObjectName))
else:
servr=raw_input('Server Name: ')
set('Targets',jarray.array([ObjectName('com.bea:Name='+servr+',Type=Server')], ObjectName))
print 'Succesfully configured MultiDataSource...'
activation()
except BeanAlreadyExistsException:
print 'Error: '+n+' BeanAlreadyExists...'
cancelEdit('y')
exit()
#===== main program===============
if __name__== "main":
connect('wlusr','paswd','t3://AdminUrl:AdminPort')
edit()
startEdit()
mdsName = raw_input("Please enter MultiDataSource name: ")
# create object, call configMDS
MDS(mdsName).configMDS()
print('Exiting...')
exit()
# Refer this link for valid values# http://unni-at-work.blogspot.com/2009/03/multi-data-source-using-wlst.html
# http://edocs.bea.com/wls/docs100/wlsmbeanref/mbeans/JDBCDataSourceParamsBean.html#AlgorithmType
2 comments:
I get an error setting up the multidatasource:
[java] AttributeError: setDataSourceList
even tough I have it hardcoded the values and it is as in the scripts written by you or the one recorded.
cmo.setDataSourceList('ENSDS1,ENSDS2')
Any idea how to debug futher?
Thanks for referring the blog.
dslist is a Python list you need to use input as ['ENSDS1','ENSDS2']
This is like an array in C.
Hope this will help you.
Post a Comment