I had a particular requirement today. I needed to update a bunch of JDBC data sources, and change the Connection Pool properties, specifically the Aged Timeout value.
This was at the behest of our DBA, as we were looking at the way that connections are created/persisted between WAS and DB2.
Therefore, he ( let's call him John ) wanted to test to see whether changing the Aged Timeout value from the default of 0 to 1200 seconds.
On the journey, I acquired a few more scars ^H^H^H^H^H skills, as per the following examples: -
Getting Cluster Status
clusterName='AppCluster'
clusterID=AdminConfig.getid('/ServerCluster:'+clusterName+'/')
clusterObj=AdminControl.completeObjectName('type=Cluster,name='+clusterName+',*')
clusterStatus=AdminControl.getAttribute(clusterObj,'state')
print clusterStatus
Getting JNDI Names, Max Connections, Purge Policy and Aged Timeout
The trick is to get a "handle" on the Connection Pool, and then retrieve the Attributes from there. This works for ALL data sources.
for dataSource in AdminConfig.list('DataSource').splitlines():
jndi=AdminConfig.showAttribute(dataSource,'jndiName')
connPool=AdminConfig.showAttribute(dataSource,'connectionPool')
maxConn=AdminConfig.showAttribute(connPool,'maxConnections')
purgePolicy=AdminConfig.showAttribute(connPool,'purgePolicy')
agedTimeout=AdminConfig.showAttribute(connPool,'agedTimeout')
( Note the indent during the loop )
Reviewing and Changing Aged Timeout
for dataSource in AdminConfig.list('DataSource').splitlines():
jndi=AdminConfig.showAttribute(dataSource,'jndiName')
connPool=AdminConfig.showAttribute(dataSource,'connectionPool')
print "Old"
print AdminConfig.showAttribute(connPool,'agedTimeout')
AdminConfig.modify(connPool, '[[agedTimeout "1200"]]')
print "New"
print AdminConfig.showAttribute(connPool,'agedTimeout')
AdminConfig.save()
AdminNodeManagement.syncActiveNodes()
( Note the indent during the loop )
which reports
...
Old
0
''
New
1200
Old
0
''
New
1200
...
Ironically, I then used almost the same script to revert out the change, setting the agedTimeout attribute from 1200 back to 0.
...
Old
0
''
New
1200
Old
0
''
New
1200
...
Ironically, I then used almost the same script to revert out the change, setting the agedTimeout attribute from 1200 back to 0.
No comments:
Post a Comment