Tuesday, 12 July 2016

Resume ( unpause) the weblogic jms queues of multiple destinations using WLST script

step 1) create property file with following :  ( I created file with name : dev.properties )


########################### Domain Properties #########################################
domain.adminHost=localhost
domain.adminPort=7001
domain.userConfig=/home/oracle/admin_config.secure
domain.key=/home/oracle/posia_admin_key.secure
domain.soaPort=8001
########################### JMS Servers and Destination list     ####################
wlsServer.list=wls_soa11,wls_soa12,wls_soa21,wls_soa22
soaServer.list=wls_soa11-1,wls_soa12-2,wls_soa21-3,wls_soa22-4
jmsServer.list=wls_soa11.JMSServer_auto_1,wls_soa12.JMSServer_auto_2,wls_soa21.JMSServer_auto_3,wls_soa22.JMSServer_auto_4
destination.list=dist_jms1_queue_auto,dist_jms2_queue_auto,dist_jms3_queue_auto,dist_jms4_queue_auto,dist_jms5_queue_auto,dist_jms6_queue_auto,
dist_jms6_queue_auto,dist_jms7_queue_auto,dist_jms8_queue_auto,dist_jms9_queue_auto,dist_jms10_queue_auto


step 2)  create a wlst script . script Name :  resumeJmsQueues.py


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]
ENVIRONMENT_NAME = env.upper()
propInputStream = FileInputStream(env + ".properties")
configProps = Properties()
configProps.load(propInputStream)
portNo=configProps.get("domain.soaPort")
wlsServerList = configProps.get("soaServer.list")
jmsServerList = configProps.get("jmsServer.list")
destinationList = configProps.get("destination.list")
userConfigFileName = configProps.get("domain.userConfig")
userKeyFileName = configProps.get("domain.key")
listofJMSDestinations = destinationList.split(',')
listofWLSServers = wlsServerList.split(',')
listofJMSServers = jmsServerList.split(',')
for m_server in listofWLSServers:
        for jmsDestName in  listofJMSDestinations:
                m_soa_server = m_server.split('-')[0]
                m_soa_server_n = m_server.split('-')[1]
                soa_server = m_soa_server.split('_')[1]
                hostURL="SOA_SERVER_HOSTNAME:" + portNo   
                connect(userConfigFile=userConfigFileName, userKeyFile=userKeyFileName , url=hostURL)                 
                serverRuntime()
                cd('JMSRuntime/'+m_soa_server+'.jms/JMSServers/JMSServer_auto_'+m_soa_server_n+'/Destinations/JMSModule!JMSServer_auto_'+m_soa_server
_n+'@'+jmsDestName)                            
                print jmsDestName      
                print 'JMSServer_auto_'+m_soa_server_n;   
                PausedState = cmo.getConsumptionPausedState();
                print 'queue state before pause' + PausedState;
                cmo.resumeConsumption()
                PausedState = cmo.getConsumptionPausedState();
                print 'queue state after pause' + PausedState;               


step 3) Run the script :  ( here : pauseJmsQueues.py  is the wlst script name , and dev is the property file name created in step 1 )


/home/oracle/products/fmw/oracle_common/common/bin/wlst.sh  resumeJmsQueues.py  dev

No comments:

Post a Comment