Tuesday, 12 July 2016

JMS Queue consumption pause enable / disable at server startup - WLST script



WLST script for consumption pause enable / disable at server startup.




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 :  consumptionPauseAtStartupEnable


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_HOST_NAME:" + portNo   
                connect(userConfigFile=userConfigFileName, userKeyFile=userKeyFileName , url=hostURL)                 
                edit()
                startEdit()
                for jmsDestName in  listofJMSDestinations:
                    cd('/JMSSystemResources/JMSModule/JMSResource/JMSModule/UniformDistributedQueues/' + jmsDestName)
                    cmo.setConsumptionPausedAtStartup(true)
                    save()
                activate()     


3) create a wlst script . script Name :  consumptionPauseAtStartupDiable.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)                 
                edit()
                startEdit()
                for jmsDestName in  listofJMSDestinations:
                    cd('/JMSSystemResources/JMSModule/JMSResource/JMSModule/UniformDistributedQueues/' + jmsDestName)
                    cmo.setConsumptionPausedAtStartup(false)
                    save()
                activate()     


step 4 ) Run the scripts : (  consumptionPauseAtStartupDiable.py is the script name and dev is the property file created in step 1 )


$ORACLE_HOME/common/bin/wlst.sh    consumptionPauseAtStartupDiable.py dev


$ORACLE_HOME/common/bin/wlst.sh    consumptionPauseAtStartupEnable.py dev

No comments:

Post a Comment