Skip to content

Commit

Permalink
Add WebLogic 12
Browse files Browse the repository at this point in the history
  • Loading branch information
sergiomt committed Jul 15, 2019
1 parent 3268c92 commit 67e9e30
Show file tree
Hide file tree
Showing 9 changed files with 904 additions and 0 deletions.
6 changes: 6 additions & 0 deletions vagrant-setup/weblogic/bashrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

export MW_HOME=/u01/app/oracle/middleware
export WLS_HOME=$MW_HOME/wlserver
export WL_HOME=$WLS_HOME
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
13 changes: 13 additions & 0 deletions vagrant-setup/weblogic/create-domain.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
export ADMIN_HOST=wlsadmin
export NM_PORT=5556
export MS_PORT=7002
export DEBUG_PORT=8453
export CONFIG_JVM_ARGS=-Dweblogic.security.SSL.ignoreHostnameVerification=true
export DOMAIN_NAME=base_domain
export DOMAIN_HOME=/u01/oracle/user_projects/domains/base_domain
export ADMIN_PORT=7001
export ADMIN_PASSWORD=welcome01
export CLUSTER_NAME=Cluster
export debugFlag=true
export PRODUCTION_MODE=dev
export PATH='/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/u01/software/wls12210/oracle_common/common/bin/:/u01/weblogic/bin'
73 changes: 73 additions & 0 deletions vagrant-setup/weblogic/create_datasource.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
from java.io import FileInputStream
import sys


propInputStream = FileInputStream(sys.argv[1])
configProps = Properties()
configProps.load(propInputStream)
domainName=configProps.get("domain.name")
adminURL=configProps.get("admin.url")
adminUserName=configProps.get("admin.userName")
adminPassword=configProps.get("admin.password")

dsName=configProps.get("datasource.name")
dsFileName=configProps.get("datasource.filename")
dsDatabaseName=configProps.get("datasource.database.name")
datasourceTarget=configProps.get("datasource.target")
dsJNDIName=configProps.get("datasource.jndiname")
dsDriverName=configProps.get("datasource.driver.class")
dsURL=configProps.get("datasource.url")
dsUserName=configProps.get("datasource.username")
dsPassword=configProps.get("datasource.password")
dsTestQuery=configProps.get("datasource.test.query")

connect(adminUserName, adminPassword, adminURL)
edit()
startEdit()
cd('/')

for dts in cmo.getJDBCSystemResources():
if dts.getName()==dsName:
cmo.destroyJDBCSystemResource(dts)

save()
activate()

edit()
startEdit()
cd('/')

cmo.createJDBCSystemResource(dsName)
cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName)
cmo.setName(dsName)

cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDataSourceParams/' + dsName )
set('JNDINames',jarray.array([String( dsJNDIName )], String))

cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName )
cmo.setUrl(dsURL)
cmo.setDriverName( dsDriverName )
cmo.setPassword(dsPassword)

cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCConnectionPoolParams/' + dsName )
cmo.setTestTableName(dsTestQuery)
cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName )
cmo.createProperty('user')

cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName + '/Properties/user')
cmo.setValue(dsUserName)

cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName )
cmo.createProperty('databaseName')

cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDriverParams/' + dsName + '/Properties/' + dsName + '/Properties/databaseName')
cmo.setValue(dsDatabaseName)

cd('/JDBCSystemResources/' + dsName + '/JDBCResource/' + dsName + '/JDBCDataSourceParams/' + dsName )
cmo.setGlobalTransactionsProtocol('OnePhaseCommit')

cd('/SystemResources/' + dsName )
set('Targets',jarray.array([ObjectName('com.bea:Name=' + datasourceTarget + ',Type=Server')], ObjectName))

save()
activate()
81 changes: 81 additions & 0 deletions vagrant-setup/weblogic/create_domain.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Copyright (c) 2014-2018 Oracle and/or its affiliates. All rights reserved.
#
# WebLogic on Docker Default Domain
#
# Domain, as defined in DOMAIN_NAME, will be created in this script. Name defaults to 'base_domain'.
#
# Since : October, 2014
# Author: bruno.borges@oracle.com
# ==============================================
domain_name = os.environ.get("DOMAIN_NAME", "base_domain")
admin_port = int(os.environ.get("ADMIN_PORT", "7001"))
admin_pass = os.environ.get("ADMIN_PASSWORD")
cluster_name = os.environ.get("CLUSTER_NAME", "Cluster")
domain_home = os.environ.get("DOMAIN_HOME", '/u01/oracle/user_projects/domains/%s' % domain_name)
production_mode = os.environ.get("PRODUCTION_MODE", "dev")

print('domain_name : [%s]' % domain_name);
print('admin_name : [%s]' % admin_name);
print('admin_port : [%s]' % admin_port);
print('cluster_name: [%s]' % cluster_name);
print('domain_home : [%s]' % domain_home);
print('production_mode : [%s]' % production_mode);

# Open default domain template
# ======================
readTemplate("/u01/software/wls12210/wlserver/common/templates/wls/wls.jar")

set('Name', domain_name)
setOption('DomainName', domain_name)

# Disable Admin Console
# --------------------
# cmo.setConsoleEnabled(false)

# Configure the Administration Server and SSL port.
# =========================================================
cd('/Servers/AdminServer')
set('Name', 'AdminServer')
set('ListenAddress', '')
set('ListenPort', admin_port)

# Define the user password for weblogic
# =====================================
cd('/Security/%s/User/oracle' % domain_name)
cmo.setPassword(admin_pass)

# Write the domain and close the domain template
# ==============================================
setOption('OverwriteDomain', 'true')
setOption('ServerStartMode',production_mode)

cd('/NMProperties')
set('ListenAddress','')
set('ListenPort',5556)
set('CrashRecoveryEnabled', 'true')
set('NativeVersionEnabled', 'true')
set('StartScriptEnabled', 'false')
set('SecureListener', 'false')
set('LogLevel', 'FINEST')

# Set the Node Manager user name and password (domain name will change after writeDomain)
cd('/SecurityConfiguration/base_domain')
set('NodeManagerUsername', 'oracle')
set('NodeManagerPasswordEncrypted', admin_pass)

# Define a WebLogic Cluster
# =========================
cd('/')
create(cluster_name, 'Cluster')

cd('/Clusters/%s' % cluster_name)
cmo.setClusterMessagingMode('unicast')

# Write Domain
# ============
writeDomain(domain_home)
closeTemplate()

# Exit WLST
# =========
exit()
213 changes: 213 additions & 0 deletions vagrant-setup/weblogic/create_jms.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
from java.util import Properties
from java.io import FileInputStream
from java.io import File
from java.io import FileOutputStream
from java import io
from java.lang import Exception
from java.lang import Throwable
import os.path
import sys

###################****##############****########################
# ScriptName : CreateJMSObjects-v1.4.py
# Properties : ConfigJMSObjects.properties
# Author : Pavan Devarakonda / Ariel Cassan
###################****##############****########################

propInputStream=FileInputStream(sys.argv[1])
configProps=Properties()
configProps.load(propInputStream)

def getJMSSubdeploymentPath(jms_module_name):
jms_subdeployment_path = "/JMSSystemResources/"+jms_module_name+"/SubDeployments/"+subdeployment_name
return jms_subdeployment_path

def deleteJMSModule(jms_module_name):
deleteIgnoringExceptions(jms_module_name)

def createJMSModule(jms_module_name,server_target_name):
jms_subdeployment_path= getJMSSubdeploymentPath(jms_module_name)
cd('/JMSServers')
jmssrvlist=ls(returnMap='true')
cd('/')
module = create(jms_module_name, "JMSSystemResource")
server = getMBean("Servers/"+server_target_name)
module.addTarget(server)
cd('/SystemResources/'+jms_module_name)

module.createSubDeployment(subdeployment_name)
cd(jms_subdeployment_path)
list=[]
for j in jmssrvlist:
s='com.bea:Name='+j+',Type=JMSServer'
list.append(ObjectName(str(s)))
set('Targets',jarray.array(list, ObjectName))

def getJMSModulePath(jms_module_name):
jms_module_path = "/JMSSystemResources/"+jms_module_name+"/JMSResource/"+jms_module_name
return jms_module_path

def getJMSQueuePath(jms_module_name,qname):
jms_queue_path = getJMSModulePath(jms_module_name)+"/Queues/"+qname
return jms_queue_path

def createJMSQueue(jms_module_name,jndi,jms_q_name,target,q_rl,q_ep,q_ed):
jms_module_path= getJMSModulePath(jms_module_name)
jms_subdeployment_path= getJMSSubdeploymentPath(jms_module_name)
cd(jms_module_path)
cmo.createQueue(jms_q_name)
cd(getJMSQueuePath(jms_module_name,jms_q_name))
cmo.setJNDIName(jndi)
# cmo.setDefaultTargetingEnabled(bool("true"))
cmo.setSubDeploymentName(subdeployment_name)
cd(jms_subdeployment_path)
cmo.addTarget(getMBean("/JMSServers/"+target))
cd(getJMSQueuePath(jms_module_name,jms_q_name)+"/DeliveryFailureParams/"+jms_q_name)
cmo.setRedeliveryLimit(int(q_rl))
cmo.setExpirationPolicy(q_ep)
erQueue = getMBean(getJMSQueuePath(jms_module_name,q_ed))
cmo.setErrorDestination(erQueue)


def createJMSUDQ(jms_module_name,jndi,jms_udq_name,target):
jms_module_path = getJMSModulePath(jms_module_name)
jms_subdeployment_path= getJMSSubdeploymentPath(jms_module_name)
cd(jms_module_path)
cmo.createUniformDistributedQueue(jms_udq_name)
cd(jms_module_path+'/UniformDistributedQueues/'+jms_udq_name)
cmo.setJNDIName(jndi)
# cmo.setDefaultTargetingEnabled(bool("true"))
cmo.setSubDeploymentName(subdeployment_name)
print('JMS Module path: '+jms_module_path)
cd(jms_module_path+'/UniformDistributedQueues/'+jms_udq_name)
set('ForwardDelay', 10)
cd(jms_subdeployment_path)
cmo.addTarget(getMBean("/JMSServers/"+target))
path_tmp = getJMSQueuePath(jms_module_name,jms_udq_name)
print('temporary path : [%s]' % path_tmp)

cd(path_tmp+"/DeliveryFailureParams/"+jms_udq_name)
cmo.setRedeliveryLimit(3)
cmo.setExpirationPolicy('Redirect')
erQueue = getMBean(getJMSQueuePath(jms_module_name,'object_error_queue'))
cmo.setErrorDestination(erQueue)


def createJMSConnectionFactory(jms_module_name,cfjndi,jms_cf_name,target):
jms_module_path = getJMSModulePath(jms_module_name)
jms_subdeployment_path= getJMSSubdeploymentPath(jms_module_name)
cd(jms_module_path)
cf = create(jms_cf_name,'ConnectionFactory')
jms_cf_path = jms_module_path+'/ConnectionFactories/'+jms_cf_name
cd(jms_cf_path)
cf.setJNDIName(cfjndi)
cf.setSubDeploymentName(subdeployment_name)
cd (jms_cf_path+'/SecurityParams/'+jms_cf_name)
#cf.setAttachJMXUserId(bool("false"))
cd(jms_cf_path+'/ClientParams/'+jms_cf_name)
cmo.setClientIdPolicy('Restricted')
cmo.setSubscriptionSharingPolicy('Exclusive')
cmo.setMessagesMaximum(10)
cd(jms_cf_path+'/TransactionParams/'+jms_cf_name)
set('TransactionTimeout', "3600")
set('XAConnectionFactoryEnabled', "true")
# cd(jms_cf_path)
# cmo.setDefaultTargetingEnabled(bool("true"))
cd(jms_subdeployment_path)
cmo.addTarget(getMBean("/JMSServers/"+target))

def createFlstr(fstr_name_p,dir_name_p,target_name_p):
cd('/')
fst = create(fstr_name_p, "FileStore")
cd('/FileStores/'+fstr_name_p)
cmo.setDirectory(dir_name_p)
fst.addTarget(getMBean("/Servers/"+target_name_p))

def createJDstr(jstr_name_p,ds_name_p,target_name_p,prefix_p):
cd('/')
jst = create(jstr_name_p, "JDBCStore")
cd('/JDBCStores/'+jstr_name_p)
cmo.setDataSource(getMBean('/SystemResources/'+ds_name_p))
cmo.setPrefixName(prefix_p)
jst.addTarget(getMBean("/Servers/"+target_name_p))

def createJMSsrvr(jms_srv_name_p,target_name_p,persis_store_p,page_dir_p, thrs_high_p, thrs_low_p, msg_size_p):
cd('/')
srvr = create(jms_srv_name_p, "JMSServer")
cd('/Deployments/'+jms_srv_name_p)
srvr.setPersistentStore(getMBean('/FileStores/'+persis_store_p))
# srvr.setPersistentStore(getMBean('/JDBCStores/'+persis_store))
srvr.setPagingDirectory(page_dir_p)
srvr.addTarget(getMBean("/Servers/"+target_name_p))
srvr.setBytesThresholdLow(long(thrs_low_p))
srvr.setBytesThresholdHigh(long(thrs_high_p))
srvr.setMaximumMessageSize(long(msg_size_p))

adminUser=configProps.get("adminUser")
adminPassword=configProps.get("adminPassword")
adminURL=configProps.get("adminURLProtocol")+'://'+configProps.get("adminURL")

connect(adminUser,adminPassword,adminURL)

edit()
startEdit()

#=============# JMS SERVER and PERSISITENT STORE CONFIGURATION #=============#
jms_srv_name=configProps.get("jms_srvr_name")
trg=configProps.get("jms_srvr_target")
persis_store=configProps.get("jms_srvr_persis_store_name")
page_dir=configProps.get("jms_srvr_pag_dir")
thrs_high=configProps.get("jms_srvr_by_threshold_high")
thrs_low=configProps.get("jms_srvr_by_threshold_low")
msg_size=configProps.get("jms_srvr_max_msg_size")
total_q=configProps.get("total_q")
total_udq=configProps.get("total_udq")
total_conf=configProps.get("total_conf")
tot_djmsm=configProps.get("total_default_jms_module")
subdeployment_name=configProps.get("subdeployment_name")
jms_srv_target=configProps.get("jms_srv_objects_target")


createFlstr(persis_store,page_dir,trg)
java.lang.Thread.sleep(5000)
print(jms_srv_name+','+trg+','+persis_store+','+page_dir+','+thrs_high+','+thrs_low+','+msg_size)
createJMSsrvr(jms_srv_name,trg,persis_store,page_dir,thrs_high,thrs_low,msg_size)

# ====# JMS CONFIGURATION## ##########################################


a=1
while(a <= int(tot_djmsm)):
var1=int(a)
jms_mod_name=configProps.get("jms_mod_name"+ str(var1))
server_target=configProps.get("jms_mod_target"+ str(var1))
createJMSModule(jms_mod_name,server_target)

i=1
while(i <= int(total_q)):
q_name=configProps.get("q_name"+ str(i))
q_jndi=configProps.get("q_jndi"+ str(i))
q_rl=configProps.get("q_rl"+ str(i))
q_ep=configProps.get("q_ep"+ str(i))
q_ed=configProps.get("q_ed"+ str(i))
createJMSQueue(jms_mod_name,q_jndi,q_name,jms_srv_target,q_rl,q_ep,q_ed)
i = i + 1
j=1
while(j <= int(total_udq)):
udq_name=configProps.get("udq_name"+ str(j))
udq_jndi=configProps.get("udq_jndi"+ str(j))
# createJMSUDQ(jms_mod_name,udq_jndi,udq_name,jms_srv_target)
j = j + 1
k = 1
while(k <= int(total_conf)):
conf_name=configProps.get("conf_name"+ str(k))
conf_jndi=configProps.get("conf_jndi"+ str(k))
createJMSConnectionFactory(jms_mod_name,conf_jndi,conf_name,jms_srv_target)
k = k + 1
a = a+1

save()
activate(block="true")
disconnect()

exit()
Loading

0 comments on commit 67e9e30

Please sign in to comment.