I have tried to write few scripts to capture the configurations of different environments , which may helpful to compare it later to find out any changes done ..
I have started with BPEL propeties , B2B Properties , SOA Administration configuration and general WLS server level configurations. you may add more based on your requirements.
I have copied my scripts below.
Script 1:
from java.io import FileInputStream
from java.lang import *
from java.util import Date
from java.util import HashMap
from java.lang import Runtime
from java.util import Arrays
from java.lang import System
#passWord=sys.argv[1]
env=sys.argv[1]
propInputStream = FileInputStream(env + ".properties")
configProps = Properties()
configProps.load(propInputStream)
hostName=configProps.get("domain.adminHost")
portNo=configProps.get("domain.adminPort")
adminUserName=configProps.get("domain.adminUserName")
adminURL="t3://" + hostName + ":" + portNo
connect(userConfigFile='/u01/weblogic/etc/admin_config.secure', userKeyFile='/u01/weblogic/etc/admin_key.secure', url='t3://AdminServerURL:7001')
#JTA Time-out , Completion Timeout, Maximum Resource Requests on a Server , Front-End hostname, Front-End port, LDAP, Enable Exalogic Optimizations, Enable Administration Port, Production Mode, Archive Configuration Count, Configuration Archive Enabled
#############################################################################
def JTAConfigurations():
try:
print 'Soa weblogic domain configurations:';
cd('/JTA/soa_domain');
print 'JTA Time-out', cmo.getTimeoutSeconds();
print 'Completion Timeout', cmo.getCompletionTimeoutSeconds();
print 'Maximum Resource Requests on a Server', cmo.getMaxResourceRequestsOnServer();
except:
print 'Exception while setting B2B properties !';
#############################################################################
def GeneralConfigurations():
try:
print 'General configurations of weblogic ';
cd('/Clusters/soa_cluster')
print 'Front-End hostname : ', cmo.getFrontendHost()
print 'Front-End port : ', cmo.getFrontendHTTPPort()
cd('/')
print 'Archive Configuration Count :', cmo.getArchiveConfigurationCount();
print 'Enable Exalogic Optimizations :', cmo.getExalogicOptimizationsEnabled();
print 'Enable Administration Port :', cmo.getAdministrationPortEnabled();
print 'Production Mode :', cmo.getProductionModeEnabled();
except:
print 'Exception while retriving GeneralConfigurations !';
###################################################################
def B2Bproperties():
try:
print 'Setting B2B properties...';
domainRuntime()
B2BConfigobj = ObjectName('oracle.as.soainfra.config:Location=wls_soa11,name=b2b,type=B2BConfig,Application=soa-infra')
print 'Common Properties for soa_server1'
B2Bproperties = mbs.getAttribute(B2BConfigobj,'Properties')
for element in B2Bproperties:
print element.get('name'),"=",element.get('value')
except:
print 'Exception while setting B2B properties !';
dumpStack();
#################################################################
def soaSuiteConfigurations():
try:
domainRuntime()
SOAcommonPropertiesObj = ObjectName('oracle.as.soainfra.config:Location=wls_soa11,name=soa-infra,type=SoaInfraConfig,Application=soa-infra')
SOAcommonproperties = mbs.getAttribute(SOAcommonPropertiesObj,'GlobalTxMaxRetry')
print 'Audit level',"=", mbs.getAttribute(SOAcommonPropertiesObj,'AuditLevel')
print 'ServerURL',"=", mbs.getAttribute(SOAcommonPropertiesObj,'ServerURL')
print 'OracleWebserviceChunkSize',"=", mbs.getAttribute(SOAcommonPropertiesObj,'OracleWebserviceChunkSize')
print 'OracleWebservicesDoNotChunk',"=", mbs.getAttribute(SOAcommonPropertiesObj,'OracleWebservicesDoNotChunk')
print 'HttpServerURL',"=", mbs.getAttribute(SOAcommonPropertiesObj,'HttpServerURL')
print 'HttpsServerURL',"=", mbs.getAttribute(SOAcommonPropertiesObj,'HttpsServerURL')
print 'EdnJmsMode',"=", mbs.getAttribute(SOAcommonPropertiesObj,'EdnJmsMode')
except:
print 'Exception while retriving SOA COMMON Properties !';
#################################################################
def bpelConfiguration():
try:
domainRuntime()
bpelConfigurationObj = ObjectName('oracle.as.soainfra.config:Location=wls_soa11,name=bpel,type=BPELConfig,Application=soa-infra')
print 'Disable BPEL Monitors and Sensors',"=", mbs.getAttribute(bpelConfigurationObj,'DisableSensors')
print 'Audit level',"=", mbs.getAttribute(bpelConfigurationObj,'AuditLevel')
print 'Dispatcher System Threads',"=", mbs.getAttribute(bpelConfigurationObj,'DispatcherSystemThreads')
print 'Dispatcher Invoke Threads',"=", mbs.getAttribute(bpelConfigurationObj,'DispatcherInvokeThreads')
print 'Dispatcher Engine Threads',"=", mbs.getAttribute(bpelConfigurationObj,'DispatcherEngineThreads')
print 'AsyncAuditBatchSize (Exalogic only)',"=", mbs.getAttribute(bpelConfigurationObj,'AsyncAuditBatchSize')
print 'AsyncAuditPersisterThreads',"=", mbs.getAttribute(bpelConfigurationObj,'AsyncAuditPersisterThreads')
print 'AsyncAuditQueueSize',"=", mbs.getAttribute(bpelConfigurationObj,'AsyncAuditQueueSize')
print 'AuditStorePolicy',"=", mbs.getAttribute(bpelConfigurationObj,'AuditStorePolicy')
print 'MaximumNumberOfInvokeMessagesInCache',"=", mbs.getAttribute(bpelConfigurationObj,'MaximumNumberOfInvokeMessagesInCache')
print 'RecurringMaxMessageRaiseSize',"=", mbs.getAttribute(bpelConfigurationObj,'RecurringMaxMessageRaiseSize')
print 'StartupMaxMessageRaiseSize',"=", mbs.getAttribute(bpelConfigurationObj,'StartupMaxMessageRaiseSize')
RecoverConfigProperties = mbs.getAttribute(bpelConfigurationObj,'RecoveryConfig')
for element in RecoverConfigProperties:
print element.get('itemName')
except:
print 'Exception while retriving BPEL Properties !';
#################################################################
def SOA_weblogic_Servers_configurations():
try:
domainConfig()
managedServers=cmo.getServers()
for server in managedServers:
ServerName = server.getName();
cd("/Servers/" + ServerName )
print 'Server Name : ', "=", ServerName;
print ' Complete Message Timeout',"=", cmo.getCompleteMessageTimeout();
print ' Maximum Message Size',"=", cmo.getMaxMessageSize();
print ' Idle Connection Timeout',"=", cmo.getIdleConnectionTimeout();
print ' MaxHTTPMessageSize',"=", cmo.getMaxHTTPMessageSize();
## print ' Weblogic Plug-In Enabled',"=", cmo.getWeblogicPluginEnabled();
print ' Maximum Open Sockets',"=", cmo.getMaxOpenSockCount();
print ' Stuck Thread Max Time',"=", cmo.getStuckThreadMaxTime();
print ' AcceptBacklog',"=", cmo.getAcceptBacklog();
print ' Login Timeout',"=", cmo.getLoginTimeoutMillis();
print ' MuxerClass',"=", cmo.getMuxerClass();
except:
print 'Exception while retriving soa weblogic configurations :';
###################################################################
print 'JTA Configuration:'
print '------------------'
JTAConfigurations()
print 'General Configurations:'
print '-----------------------'
GeneralConfigurations()
print 'B2Bproperties:'
print '--------------'
B2Bproperties()
print 'Soa Suite Configurations:'
print '-------------------------'
soaSuiteConfigurations()
print 'BPEL Configurations:'
print '--------------------'
bpelConfiguration()
print 'Weblogic Server configurations:'
print '------------------------------:'
SOA_weblogic_Servers_configurations()
Script 2: File all JMS details.
from java.io import FileInputStream
from java.lang import *
from java.util import Date
from java.util import HashMap
from java.lang import Runtime
from java.util import Arrays
from java.lang import System
env=sys.argv[1]
propInputStream = FileInputStream(env+".properties")
configProps = Properties()
configProps.load(propInputStream)
hostName=configProps.get("domain.adminHost")
portNo=configProps.get("domain.adminPort")
jdbcDatasources=configProps.get("jdbc.datasources")
listOfDatasources = jdbcDatasources.split(',')
listofposiaConnFactories = configProps.get("jms.posia.connection.factories")
POSIAJMSModule=configProps.get("jms.posia.module")
HL7Module=configProps.get("jms.hl7.module")
listOfConnectionFactory = listofposiaConnFactories.split(',')
adminUserName=configProps.get("domain.adminUserName")
adminURL="t3://" + hostName + ":" + portNo
connect(userConfigFile='/u01/weblogic/etc/admin_config.secure', userKeyFile='/u01/weblogic/etc/admin_key.secure', url='t3://AdminServerURL:7001')
cd('/')
for jmsConnFactory in listOfConnectionFactory:
print '--------------------------------------'
print "JMS Name : " + jmsConnFactory
print '--------------------------------------'
cd('/JMSSystemResources/' + MyJMSModule + '/JMSResource/' + MyJMSModule + '/ConnectionFactories/' + jmsConnFactory)
print " "
print "1) JNDI Name : " + cmo.getJNDIName()
print " "
print "2) JMS Connection factory client params : "
cd('ClientParams/' + jmsConnFactory)
ls()
print "3) JMS Connection factory Transaction param : "
cd('../../TransactionParams/' + jmsConnFactory)
ls()
I have started with BPEL propeties , B2B Properties , SOA Administration configuration and general WLS server level configurations. you may add more based on your requirements.
I have copied my scripts below.
Script 1:
from java.io import FileInputStream
from java.lang import *
from java.util import Date
from java.util import HashMap
from java.lang import Runtime
from java.util import Arrays
from java.lang import System
#passWord=sys.argv[1]
env=sys.argv[1]
propInputStream = FileInputStream(env + ".properties")
configProps = Properties()
configProps.load(propInputStream)
hostName=configProps.get("domain.adminHost")
portNo=configProps.get("domain.adminPort")
adminUserName=configProps.get("domain.adminUserName")
adminURL="t3://" + hostName + ":" + portNo
connect(userConfigFile='/u01/weblogic/etc/admin_config.secure', userKeyFile='/u01/weblogic/etc/admin_key.secure', url='t3://AdminServerURL:7001')
#JTA Time-out , Completion Timeout, Maximum Resource Requests on a Server , Front-End hostname, Front-End port, LDAP, Enable Exalogic Optimizations, Enable Administration Port, Production Mode, Archive Configuration Count, Configuration Archive Enabled
#############################################################################
def JTAConfigurations():
try:
print 'Soa weblogic domain configurations:';
cd('/JTA/soa_domain');
print 'JTA Time-out', cmo.getTimeoutSeconds();
print 'Completion Timeout', cmo.getCompletionTimeoutSeconds();
print 'Maximum Resource Requests on a Server', cmo.getMaxResourceRequestsOnServer();
except:
print 'Exception while setting B2B properties !';
#############################################################################
def GeneralConfigurations():
try:
print 'General configurations of weblogic ';
cd('/Clusters/soa_cluster')
print 'Front-End hostname : ', cmo.getFrontendHost()
print 'Front-End port : ', cmo.getFrontendHTTPPort()
cd('/')
print 'Archive Configuration Count :', cmo.getArchiveConfigurationCount();
print 'Enable Exalogic Optimizations :', cmo.getExalogicOptimizationsEnabled();
print 'Enable Administration Port :', cmo.getAdministrationPortEnabled();
print 'Production Mode :', cmo.getProductionModeEnabled();
except:
print 'Exception while retriving GeneralConfigurations !';
###################################################################
def B2Bproperties():
try:
print 'Setting B2B properties...';
domainRuntime()
B2BConfigobj = ObjectName('oracle.as.soainfra.config:Location=wls_soa11,name=b2b,type=B2BConfig,Application=soa-infra')
print 'Common Properties for soa_server1'
B2Bproperties = mbs.getAttribute(B2BConfigobj,'Properties')
for element in B2Bproperties:
print element.get('name'),"=",element.get('value')
except:
print 'Exception while setting B2B properties !';
dumpStack();
#################################################################
def soaSuiteConfigurations():
try:
domainRuntime()
SOAcommonPropertiesObj = ObjectName('oracle.as.soainfra.config:Location=wls_soa11,name=soa-infra,type=SoaInfraConfig,Application=soa-infra')
SOAcommonproperties = mbs.getAttribute(SOAcommonPropertiesObj,'GlobalTxMaxRetry')
print 'Audit level',"=", mbs.getAttribute(SOAcommonPropertiesObj,'AuditLevel')
print 'ServerURL',"=", mbs.getAttribute(SOAcommonPropertiesObj,'ServerURL')
print 'OracleWebserviceChunkSize',"=", mbs.getAttribute(SOAcommonPropertiesObj,'OracleWebserviceChunkSize')
print 'OracleWebservicesDoNotChunk',"=", mbs.getAttribute(SOAcommonPropertiesObj,'OracleWebservicesDoNotChunk')
print 'HttpServerURL',"=", mbs.getAttribute(SOAcommonPropertiesObj,'HttpServerURL')
print 'HttpsServerURL',"=", mbs.getAttribute(SOAcommonPropertiesObj,'HttpsServerURL')
print 'EdnJmsMode',"=", mbs.getAttribute(SOAcommonPropertiesObj,'EdnJmsMode')
except:
print 'Exception while retriving SOA COMMON Properties !';
#################################################################
def bpelConfiguration():
try:
domainRuntime()
bpelConfigurationObj = ObjectName('oracle.as.soainfra.config:Location=wls_soa11,name=bpel,type=BPELConfig,Application=soa-infra')
print 'Disable BPEL Monitors and Sensors',"=", mbs.getAttribute(bpelConfigurationObj,'DisableSensors')
print 'Audit level',"=", mbs.getAttribute(bpelConfigurationObj,'AuditLevel')
print 'Dispatcher System Threads',"=", mbs.getAttribute(bpelConfigurationObj,'DispatcherSystemThreads')
print 'Dispatcher Invoke Threads',"=", mbs.getAttribute(bpelConfigurationObj,'DispatcherInvokeThreads')
print 'Dispatcher Engine Threads',"=", mbs.getAttribute(bpelConfigurationObj,'DispatcherEngineThreads')
print 'AsyncAuditBatchSize (Exalogic only)',"=", mbs.getAttribute(bpelConfigurationObj,'AsyncAuditBatchSize')
print 'AsyncAuditPersisterThreads',"=", mbs.getAttribute(bpelConfigurationObj,'AsyncAuditPersisterThreads')
print 'AsyncAuditQueueSize',"=", mbs.getAttribute(bpelConfigurationObj,'AsyncAuditQueueSize')
print 'AuditStorePolicy',"=", mbs.getAttribute(bpelConfigurationObj,'AuditStorePolicy')
print 'MaximumNumberOfInvokeMessagesInCache',"=", mbs.getAttribute(bpelConfigurationObj,'MaximumNumberOfInvokeMessagesInCache')
print 'RecurringMaxMessageRaiseSize',"=", mbs.getAttribute(bpelConfigurationObj,'RecurringMaxMessageRaiseSize')
print 'StartupMaxMessageRaiseSize',"=", mbs.getAttribute(bpelConfigurationObj,'StartupMaxMessageRaiseSize')
RecoverConfigProperties = mbs.getAttribute(bpelConfigurationObj,'RecoveryConfig')
for element in RecoverConfigProperties:
print element.get('itemName')
except:
print 'Exception while retriving BPEL Properties !';
#################################################################
def SOA_weblogic_Servers_configurations():
try:
domainConfig()
managedServers=cmo.getServers()
for server in managedServers:
ServerName = server.getName();
cd("/Servers/" + ServerName )
print 'Server Name : ', "=", ServerName;
print ' Complete Message Timeout',"=", cmo.getCompleteMessageTimeout();
print ' Maximum Message Size',"=", cmo.getMaxMessageSize();
print ' Idle Connection Timeout',"=", cmo.getIdleConnectionTimeout();
print ' MaxHTTPMessageSize',"=", cmo.getMaxHTTPMessageSize();
## print ' Weblogic Plug-In Enabled',"=", cmo.getWeblogicPluginEnabled();
print ' Maximum Open Sockets',"=", cmo.getMaxOpenSockCount();
print ' Stuck Thread Max Time',"=", cmo.getStuckThreadMaxTime();
print ' AcceptBacklog',"=", cmo.getAcceptBacklog();
print ' Login Timeout',"=", cmo.getLoginTimeoutMillis();
print ' MuxerClass',"=", cmo.getMuxerClass();
except:
print 'Exception while retriving soa weblogic configurations :';
###################################################################
print 'JTA Configuration:'
print '------------------'
JTAConfigurations()
print 'General Configurations:'
print '-----------------------'
GeneralConfigurations()
print 'B2Bproperties:'
print '--------------'
B2Bproperties()
print 'Soa Suite Configurations:'
print '-------------------------'
soaSuiteConfigurations()
print 'BPEL Configurations:'
print '--------------------'
bpelConfiguration()
print 'Weblogic Server configurations:'
print '------------------------------:'
SOA_weblogic_Servers_configurations()
Script 2: File all JMS details.
from java.io import FileInputStream
from java.lang import *
from java.util import Date
from java.util import HashMap
from java.lang import Runtime
from java.util import Arrays
from java.lang import System
env=sys.argv[1]
propInputStream = FileInputStream(env+".properties")
configProps = Properties()
configProps.load(propInputStream)
hostName=configProps.get("domain.adminHost")
portNo=configProps.get("domain.adminPort")
jdbcDatasources=configProps.get("jdbc.datasources")
listOfDatasources = jdbcDatasources.split(',')
listofposiaConnFactories = configProps.get("jms.posia.connection.factories")
POSIAJMSModule=configProps.get("jms.posia.module")
HL7Module=configProps.get("jms.hl7.module")
listOfConnectionFactory = listofposiaConnFactories.split(',')
adminUserName=configProps.get("domain.adminUserName")
adminURL="t3://" + hostName + ":" + portNo
connect(userConfigFile='/u01/weblogic/etc/admin_config.secure', userKeyFile='/u01/weblogic/etc/admin_key.secure', url='t3://AdminServerURL:7001')
cd('/')
for jmsConnFactory in listOfConnectionFactory:
print '--------------------------------------'
print "JMS Name : " + jmsConnFactory
print '--------------------------------------'
cd('/JMSSystemResources/' + MyJMSModule + '/JMSResource/' + MyJMSModule + '/ConnectionFactories/' + jmsConnFactory)
print " "
print "1) JNDI Name : " + cmo.getJNDIName()
print " "
print "2) JMS Connection factory client params : "
cd('ClientParams/' + jmsConnFactory)
ls()
print "3) JMS Connection factory Transaction param : "
cd('../../TransactionParams/' + jmsConnFactory)
ls()
3) script 3 - Data source details.
from java.io import FileInputStream
from java.lang import *
from java.util import Date
from java.util import HashMap
from java.lang import Runtime
from java.util import Arrays
from java.lang import System
env=sys.argv[1]
propInputStream = FileInputStream(env+".properties")
configProps = Properties()
configProps.load(propInputStream)
hostName=configProps.get("domain.adminHost")
portNo=configProps.get("domain.adminPort")
jdbcDatasources=configProps.get("jdbc.datasources")
listOfDatasources = jdbcDatasources.split(',')
adminUserName=configProps.get("domain.adminUserName")
adminURL="t3://" + hostName + ":" + portNo
connect(userConfigFile='/u01/weblogic/etc/admin_config.secure', userKeyFile='/u01/weblogic/etc/admin_key.secure', url='t3://AdminServerURL:7001')
cd('/')
for dsName in listOfDatasources:
print '--------------------------------------'
print "DataSource Name : " + dsName
print '--------------------------------------'
cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCConnectionPoolParams/' + dsName)
ls()