Saturday, 10 September 2016

B2B Utility to Add / Modify / Delete B2B properties.

I think this is the simplest way to automate to add b2b properties.

Follow the steps provided below to add B2B properties .

Step 1)  Create a property file  ( b2b.properties )with list of B2B properties you want add.  i have created a file with below b2b properties , separated  b2b property name , Value and description with  delimiter ":"

b2b.enableMetrics:true:b2b.enableMetrics
b2b.payloadObfuscation:false:b2b.payloadObfuscation
b2b.inboundThreadCount:15:b2b.inboundThreadCount
b2b.outboundThreadCount:15:b2b.outboundThreadCount
b2b.defaultThreadCount:5:b2b.defaultThreadCount
b2b.MLLP_HA_Mode:true:b2b.MLLP_HA_Mode
b2b.HAInstance:true:b2b.HAInstance
b2b.HAMaxElapsedTimeout:2:b2b.HAMaxElapsedTimeout
b2b.HAHeartBeatPing:1:b2b.HAHeartBeatPing
b2b.MaxTimeInAcquiredState:3:b2b.MaxTimeInAcquiredState
b2b.AcquiredStatePollingInterval:2:b2b.AcquiredStatePollingInterval
b2b.SingleTransactionAtInbound:true:b2b.SingleTransactionAtInbound
b2b.inboundThreadSleepTime:100:b2b.inboundThreadSleepTime
b2b.outboundThreadSleepTime:100:b2b.outboundThreadSleepTime
b2b.transportDispatcherThreadCount:10:b2b.transportDispatcherThreadCount
b2b.optimizeStorage:true:b2b.optimizeStorage
b2b.TPACache:local:b2b.TPACache
b2b.mdsCache:400000:b2b.mdsCache
b2b.mdsCache.minutesToLive:0:b2b.mdsCache.minutesToLive
b2b.encoding:ISO-8859-1:b2b.encoding
b2b.binaryEncodingList:ISO-8859-1:b2b.binaryEncodingList
b2b.discardACKList:AE,AR:NAKList


step 2) create a file : mbeanutil.properties with below details.

host=<AdminHostName>
port=12001
user=weblogic
password=Welcome1

step 3) Create a shell script ( SetB2Bproperties.sh ) , Modify the JAVA_HOME and MiddleWare Home according to your environment. 



#!/bin/bash

ORACLE_BASE=/u01/oracle
ORACLE_BASE=/u02/private/oracle
MW_HOME=$ORACLE_BASE/products/fmw

export JAVA_HOME=/u02/private/oracle/products/jdk1.7.0_80
export PATH=${JAVA_HOME}/bin:${PATH}
echo $MW_HOME
echo $JAVA_HOME
echo $PATH

FILENAME=$1
count=0

cat $FILENAME | while read LINE
do
let count++
echo "$count $LINE"
Name=`echo $LINE | cut -d':' -f1`
Value=`echo $LINE | cut -d':' -f2`
Comment=`echo $LINE | cut -d':' -f3`

java -cp $MW_HOME/soa/soa/modules/oracle.soa.b2b_11.1.1/b2b.jar:$MW_HOME/wlserver_10.3/server/lib/wljmxclient.jar:$MW_HOME/modules/glassfish.jaxb_1.1.0.0_2-1-14.jar oracle.tip.b2b.utility.ConfigMBeanUtility add $Name $Value $Comment

done
echo -e "\nTotal $count Lines read"

echo " Added properties are below : Please cross verify the peroperties with PRDF :"

java -cp $MW_HOME/soa/soa/modules/oracle.soa.b2b_11.1.1/b2b.jar:$MW_HOME/wlserver_10.3/server/lib/wljmxclient.jar:$MW_HOME/modules/glassfish.jaxb_1.1.0.0_2-1-14.jar oracle.tip.b2b.utility.ConfigMBeanUtility  mbeanutil.properties

 
4) Execute the shell script to add b2b properties. Provide the argument that is property file name created in step 1.

command : 

sh SetB2Bproperties.sh b2b.properties


Friday, 9 September 2016

Configure JMS adapter using WLST

1) Prepare property file with Domain information , Number of JMS to configure and  Each JMS resource .




domain.name=common_domain


domain.adminHost=<AdminServer>


domain.adminPort=7001


domain.adminUserName=


domain.soahome=/oracle/products/fmw/soa



########################### JMS Configuration #########################################


deploymentPn.jms.location=/oracle/config/clusters/common_domain/soa_cluster/DeploymentPns/JMSAdapter/Pn.xml


totalJmsToConfigure=11


######################################################


# if JNDI is for 'Topic' set jmsTopic value to 'true'.


# if JNDI Transaction should be set to true set jmsTransaction to true.


#################################################


jms.resource.jmsJNDIName1=eis/jms/Queue


jms.resource.jmsTransaction1=false


jms.resource.jmsTopic1=false


jms.resource.CF1=jms/MigratableSOAQueueCFXA


jms.resource.jmsFactoryProperties1=java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://Server-osb11.mycompany.com:15201


##########################################


#set appropriate host name and port number for foreign JMS provider.


##########################################


jms.resource.jmsJNDIName2=eis/jms/Topic


jms.resource.jmsTransaction2=false


jms.resource.jmsTopic2=true


jms.resource.CF2=jms/MigratableSOATopicCFXA


jms.resource.jmsFactoryProperties2=ClientID=;java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://Server-osb11.mycompany.com:15201


##########################################


#set appropriate host name and port number for foreign JMS provider.


##########################################


jms.resource.jmsJNDIName3=eis/jms/GlobalQueue


jms.resource.jmsTransaction3=false


jms.resource.jmsTopic3=false


jms.resource.CF3=jms/MigratableSOAQueueCFXA


jms.resource.jmsFactoryProperties3=java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://Server-osb11.mycompany.com:15201


##########################################


#set appropriate host name and port number for foreign JMS provider.


##########################################


jms.resource.jmsJNDIName4=eis/jms/GlobalTopic


jms.resource.jmsTransaction4=false


jms.resource.jmsTopic4=true


jms.resource.CF4=jms/MigratableSOATopicCFXA


jms.resource.jmsFactoryProperties4=ClientID=;java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://Server-osb11.mycompany.com:15201


##########################################


#set appropriate host name and port number for foreign JMS provider.


##########################################


jms.resource.jmsJNDIName5=eis/jms/SSQueue


jms.resource.jmsTransaction5=false


jms.resource.jmsTopic5=false


jms.resource.CF5=jms/MigratableSOAQueueCFXA


jms.resource.jmsFactoryProperties5=java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://Server-osb11.mycompany.com:15201


##########################################


#set appropriate host name and port number for foreign JMS provider.


##########################################


jms.resource.jmsJNDIName6=eis/jms/SSQueue_NonXA


jms.resource.jmsTransaction6=false


jms.resource.jmsTopic6=false


jms.resource.CF6=jms/MigratableSOAQueueCF


jms.resource.jmsFactoryProperties6=java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://Server-osb11.mycompany.com:15201


 


 


##########################################


#set appropriate host name and port number for foreign JMS provider.


##########################################


jms.resource.jmsJNDIName7=eis/jms/PRIQueue


jms.resource.jmsTransaction7=false


jms.resource.jmsTopic7=false


jms.resource.CF7=jms/MigratableSOAQueueCFXA


jms.resource.jmsFactoryProperties7=java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://Server-osb11.mycompany.com:15201


##########################################


#set appropriate host name and port number for foreign JMS provider.


##########################################


jms.resource.jmsJNDIName8=eis/jms/DDQueue


jms.resource.jmsTransaction8= false


jms.resource.jmsTopic8=false


jms.resource.CF8=jms/MigratableSOAQueueCFXA


jms.resource.jmsFactoryProperties8=java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://Server-osb11.mycompany.com:15201


##########################################


#set appropriate host name and port number for foreign JMS provider.


##########################################


jms.resource.jmsJNDIName9=eis/jms/CRITopic


jms.resource.jmsTransaction9=false


jms.resource.jmsTopic9=true


jms.resource.CF9=jms/MigratableSOATopicCFXA


jms.resource.jmsFactoryProperties9=ClientID=CRI;java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://Server-osb11.mycompany.com:15201


##########################################


#set appropriate host name and port number for foreign JMS provider.


##########################################


jms.resource.jmsJNDIName10=eis/jms/CRIQueue


jms.resource.jmsTransaction10=false


jms.resource.jmsTopic10=false


jms.resource.CF10=jms/MigratableSOAQueueCFXA


jms.resource.jmsFactoryProperties10=java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://Server-osb11.mycompany.com:15201


###############################################################################################################


 


##########################################


#set appropriate host name and port number for foreign JMS provider.


##########################################


jms.resource.jmsJNDIName11=eis/jms/BAPQueue


jms.resource.jmsTransaction11=false


jms.resource.jmsTopic11=false


jms.resource.CF11=jms/auditlog/aggregator_cf


jms.resource.jmsFactoryProperties11=java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory;java.naming.provider.url=t3://Server-osb11.mycompany.com:15201


###############################################################################################################




2)  Create a jmsAdapterConfig.py script  with below entries :


from java.io import FileInputStream
env=sys.argv[1]
propInputStream = FileInputStream(env + ".properties")
configProps = Properties()
configProps.load(propInputStream)
totjmsToConfigure=configProps.get('totalJmsToConfigure')
domainName=configProps.get("domain.name")
hostName=configProps.get("domain.adminHost")
portNo=configProps.get("domain.adminPort")
adminUserName=configProps.get("domain.adminUserName")
planPathJMS=configProps.get("deploymentPlan.jms.location")
adminURL="t3://" + hostName + ":" + portNo
soahome=configProps.get('domain.soahome')
appPathJMS=soahome+'/soa/connectors/JmsAdapter.rar'
appNameJMS='JmsAdapter'
moduleOverrideNamedb=appNameJMS+'.rar'
moduleDescriptorName='META-INF/weblogic-ra.xml

def makeDeploymentPlanVariable(wlstPlan, name, value, xpath,overrideName, origin='planbased')

print 'inside makeDeploymentPlanVariable'

wlstPlan.destroyVariable(name)



wlstPlan.destroyVariableAssignment(name, overrideName, moduleDescriptorName)




variableAssignment = wlstPlan.createVariableAssignment(name, overrideName, moduleDescriptorName)



variableAssignment.setXpath(xpath)



variableAssignment.setOrigin(origin)



wlstPlan.createVariable(name, value)



print 'moduleDescriptorName=',moduleDescriptorName

i = 1


print 'no of jms adapter jndi to configure...' +totjmsToConfigure


print 'connecting to weblogic domain...' + domainName


print 'configuring adapter ....' + appPathJMS




#connect(adminUserName, passWord, adminURL)

connect()

edit()

startEdit()

try:






myPlanjms=loadApplication(appPathJMS, planPathJMS)


while (i <= int(totjmsToConfigure)):


print 'inside while'


try:


jmsJndi = configProps.get("jms.resource.jmsJNDIName"+str(i))


jmsTransaction=configProps.get('jms.resource.jmsTransaction'+str(i))


jmsTopic=configProps.get('jms.resource.jmsTopic'+str(i))


jmsCF=configProps.get('jms.resource.CF'+str(i))


jmsFactoryProperties= configProps.get('jms.resource.jmsFactoryProperties'+str(i))


print 'jmsJndi............', jmsJndi




makeDeploymentPlanVariable(myPlanjms, "ConnectionInstance_"+jmsJndi, jmsJndi, '/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="oracle.tip.adapter.jms.IJmsConnectionFactory"]/connection-instance/[jndi-name="'+jmsJndi+'"]/jndi-name',moduleOverrideNamedb)




makeDeploymentPlanVariable(myPlanjms, "ConfigProperty_ConnectionFactoryLocation_Value_"+jmsJndi, jmsCF, '/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="oracle.tip.adapter.jms.IJmsConnectionFactory"]/connection-instance/[jndi-name="'+jmsJndi+'"]/connection-properties/properties/property/[name="ConnectionFactoryLocation"]/value',moduleOverrideNamedb)


if len(jmsTopic) !=0:


makeDeploymentPlanVariable(myPlanjms, "ConfigProperty_IsTopic_Value_"+jmsJndi, jmsTopic, '/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="oracle.tip.adapter.jms.IJmsConnectionFactory"]/connection-instance/[jndi-name="'+jmsJndi+'"]/connection-properties/properties/property/[name="IsTopic"]/value',moduleOverrideNamedb)


else:


print 'Not a Topic'


makeDeploymentPlanVariable(myPlanjms, "ConfigProperty_IsTopic_Value_"+jmsJndi, jmsTopic, '/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="oracle.tip.adapter.jms.IJmsConnectionFactory"]/connection-instance/[jndi-name="'+jmsJndi+'"]/connection-properties/properties/property/[name="IsTopic"]/value',moduleOverrideNamedb)


if len(jmsTransaction)!=0:


makeDeploymentPlanVariable(myPlanjms, "ConfigProperty_IsTransacted_Value_"+jmsJndi, jmsTransaction, '/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="oracle.tip.adapter.jms.IJmsConnectionFactory"]/connection-instance/[jndi-name="'+jmsJndi+'"]/connection-properties/properties/property/[name="IsTransacted"]/value',moduleOverrideNamedb)


if len(jmsFactoryProperties)!=0:


makeDeploymentPlanVariable(myPlanjms, "ConfigProperty_FactoryProperties_Value_"+jmsJndi, jmsFactoryProperties, '/weblogic-connector/outbound-resource-adapter/connection-definition-group/[connection-factory-interface="oracle.tip.adapter.jms.IJmsConnectionFactory"]/connection-instance/[jndi-name="'+jmsJndi+'"]/connection-properties/properties/property/[name="FactoryProperties"]/value',moduleOverrideNamedb)



myPlanjms.save();

save();



except:

print 'Exception occured while configuring jms adapter jndi'

print 'error info....', sys.exc_info()[0]

raise

i = i+1

cd('/AppDeployments/JmsAdapter/Targets');

print 'updating configuration............. for ', appNameJMS

print 'updating configuration............. for ', planPathJMS

updateApplication(appNameJMS, planPathJMS);

startApplication(appNameJMS)

activate(block='true');

except java.lang.Exception, ex:

print ex.printStackTrace()

print '!! Creation of JMS Resources was unsuccessful'



except:

print '********************************************'

print 'Exception occured while configuring jms jndi'

print 'error info....', sys.exc_info()[0]

undo('false','y')

exit('y',1001)

print '********************************************'




3) How to execute :  in below command env is the property file created in step1.


/oracle/products/fmw/oracle_common/common/bin/wlst.sh jmsAdapterConfig.py env
it prompt for UserName , Password and URL , Provide your login credentials and AdminURL

Tuesday, 12 July 2016

WLST script to delete DLQ messages - weblogic jms

Delete DLQs messages in weblogic JMS

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
DLQs_Destinations.list=dist_jms1_dlq_queue_auto,dist_jms2_dlq_queue_auto,dist_jms3_dlq_queue_auto,dist_jms4_dlq_queue_auto,dist_jms5_dlq_queue_auto,dist_jms6_dlq_queue_auto,dist_jms7_dlq_queue_auto,dist_jms8_dlq_queue_auto,dist_jms9_dlq_queue_auto,dist_jms10_dlq_queue_auto



step 2)  create a wlst script . script Name :  deleteDLQMessages.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_HOST_NAME" + portNo   
                connect(userConfigFile=userConfigFileName, userKeyFile=userKeyFileName , url=hostURL)                 
                print jmsDestName      
                print 'JMSServer_auto_'+m_soa_server_n;
                cmo.deleteMessages('');


3) run the script :  ( here deleteDLQMessages.py is the wlst script and dev is the file name created in step 1)


$ORACLE_COMMON/common/bin/wlst.sh deleteDLQMessages.py  dev

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

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

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

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

Pause 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 :  pauseJmsQueues.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.pauseConsumption()
                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  pauseJmsQueues.py  dev

Pause 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 :  pauseJmsQueues.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_HOST_IP_ADDRESS" + 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.pauseConsumption()
                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  pauseJmsQueues.py  dev

Connect to database using wlst script

from com.ziclix.python.sql import zxJDBC

# Connection variables
db_user='Dev_SOAINFRA'
db_password='Welcome1'
host='localhost'
port='1521'
db_name='SOADEV'
jdbc_url = 'jdbc:oracle:thin:@'+host+':'+port+'/'+db_name
db_driver = 'oracle.jdbc.xa.client.OracleXADataSource'

# Query to perform
sql_query="SELECT 'Connected as '||USER||' to database '||SYS_CONTEXT ('USERENV', 'DB_NAME')||'(instance:'||SYS_CONTEXT ('USERENV', 'INSTANCE_NAME')||') on host '||
SYS_CONTEXT ('USERENV', 'SERVER_HOST') from dual"

# Test Database connection
conn = zxJDBC.connect(jdbc_url, db_user, db_password, db_driver)
cursor = conn.cursor(1)
cursor.execute(sql_query)

if cursor.rowcount == 0:
   print "Successfully connected to database..."
   for row in cursor.fetchall():
      print(row)
   cursor.close()
   ####
  
   conn.close()
else:
   print "Failed to connect to database..."
   dumpStack()