注意:

1、Domain创建完毕后,MW_HOME变量在生成的脚本中没有定义,需要手工添加。

2、Datasource脚本需要在服务器启动后才能执行。

3、如果Weblogic需要使用Oracle的OEPE,如果不确定解压后是否配置过,或者改变过安装路径(事实上Weblogic是绿色软件,在Windows下除非要注册到服务,不然不会写入注册表,但是一些固定的路径是必须确定的),务必执行Weblogic安装目录中的configuration.bat,他会设置Weblogic的product信息,而OEPE插件在识别Domain时会通过product信息来确定当前Domain的版本,如果版本与所选择的target runtime不一致,将会导致eclipse中的Weblogic Server配置失败。

———————————————

创建Domain

———————————————

createDomain.bat

 

@echo off

@rem **************************************************************************
@rem Access Setting
@rem **************************************************************************
set WL_USER=catpaw
set WL_PWD=12345678

@rem **************************************************************************
@rem Domain Setting
@rem **************************************************************************
set DOMAIN_NAME=catpaw
set MW_HOME=C:\Dev\JTool\install\wls1035_dev
set WL_HOME=%MW_HOME%\wlserver
set DOMAIN_HOME=%MW_HOME%\domain\%DOMAIN_NAME%
@rem START_MODE stand for 'dev' or 'prod'
set START_MODE=dev

set ADMIN_SERVER=catpaw_admin
set ADMIN_HOST=192.168.1.101
set ADMIN_PORT=7001

@rem **************************************************************************
@rem Creation Script
@rem **************************************************************************
set CREATE_DOMAIN_SCRIPT_NAME=createDomain.py
set DOMAIN_TEMPLATE=%WL_HOME%\common\templates\domains\wls.jar

CALL "%WL_HOME%\server\bin\setWLSEnv.cmd"

@echo *************************************************************************
@echo     Create Domain Name: %DOMAIN_NAME%
@echo *************************************************************************

IF NOT EXIST %CREATE_DOMAIN_SCRIPT_NAME% (
    @echo Cannot locate the create Domain WLST script %CREATE_DOMAIN_SCRIPT_NAME%!
    @goto failStop
)

IF EXIST %DOMAIN_HOME% (
    @rd /S /Q %DOMAIN_HOME%
) ELSE (
    @echo Creating Domain folder %DOMAIN_HOME%...
    @mkdir %DOMAIN_HOME%
)

@java weblogic.WLST %CREATE_DOMAIN_SCRIPT_NAME%
@goto finish

:finish
pause
cmd

:failStop
pause
exit

 

createDomain.py

 

#=======================================================================================
# This script is used to create Weblogic Domain
#=======================================================================================

#=======================================================================================
# Open a domain template.
#=======================================================================================

readTemplate(os.environ['DOMAIN_TEMPLATE'])

#=======================================================================================
# Configure the Admin Server
#=======================================================================================
print "======================================================="
print "Starting Create Domain on your PC"
print "======================================================="
print "DOMAIN_NAME=["+os.environ['DOMAIN_NAME']+"]"
print "WL_HOME=["+os.environ['WL_HOME']+"]"
print "DOMAIN_HOME=["+os.environ['DOMAIN_HOME']+"]"
print "ADMIN_SERVER=["+os.environ['ADMIN_SERVER']+"]"
print "ADMIN_HOST=["+os.environ['ADMIN_HOST']+"]"
print "ADMIN_PORT=["+os.environ['ADMIN_PORT']+"]"

print "WL_USER=["+os.environ['WL_USER']+"]"
print "WL_PWD=["+os.environ['WL_PWD']+"]"

print "======================================================="

cd('Servers/AdminServer')
set('Name', os.environ['ADMIN_SERVER'])
setOption('ServerStartMode',os.environ['START_MODE'])
set('ListenAddress',os.environ['ADMIN_HOST'])
set('ListenPort', int(os.environ['ADMIN_PORT']))

create(os.environ['ADMIN_SERVER'],'SSL')
cd('SSL/' + os.environ['ADMIN_SERVER'])
set('Enabled', 'False')
set('HostNameVerificationIgnored', 'True')

#=======================================================================================
# Configure the Console User
#=======================================================================================
cd('/')
cd('Security/base_domain/User/weblogic')
set('Name', os.environ['WL_USER'])
cmo.setPassword(os.environ['WL_PWD'])

print "Writing Domain...."

writeDomain(os.environ['DOMAIN_HOME'])
closeTemplate()

print "Domain creation complete!"

exit()

 

———————————————

创建DataSource

———————————————

createDatasource.bat

 

@echo off

@rem **************************************************************************
@rem Access Setting
@rem **************************************************************************
set WL_USER=catpaw
set WL_PWD=12345678

@rem **************************************************************************
@rem DB Access Setting
@rem **************************************************************************
set DS_NUM=1

set DS_1_NAME=MyDevDB_101_MASTERART
set DS_1_JNDI_NAME=MyDevDB_101_MASTERART
set DS_1_HOST=192.168.1.101
set DS_1_SERVER_NAME=XE
set DS_1_PORT=1521
set DS_1_URL=jdbc:oracle:thin:@%DS_1_HOST%:%DS_1_PORT%/%DS_1_SERVER_NAME%
set DS_1_DRIVER=oracle.jdbc.OracleDriver
set DS_1_USER='MASTERART'
set DS_1_PWD='12345678'

@rem **************************************************************************
@rem Domain Setting
@rem **************************************************************************
set DOMAIN_NAME=catpaw
set MW_HOME=C:\Dev\JTool\install\wls1035_dev
set WL_HOME=%MW_HOME%\wlserver
set DOMAIN_HOME=%MW_HOME%\domain\%DOMAIN_NAME%
@rem START_MODE stand for 'dev' or 'prod'
set START_MODE=dev

set ADMIN_SERVER=catpaw_admin
set ADMIN_HOST=192.168.1.101
set ADMIN_PORT=7001

set SERVER_T3_URL=t3://%ADMIN_HOST%:%ADMIN_PORT%
set DS_TARGET=Servers/%ADMIN_SERVER%

@rem **************************************************************************
@rem Creation Script
@rem **************************************************************************
set CREATE_DATASOURCE_SCRIPT_NAME=createDataSource.py

CALL "%WL_HOME%\server\bin\setWLSEnv.cmd"

@java weblogic.WLST %CREATE_DATASOURCE_SCRIPT_NAME%
@goto finish

:finish
pause
cmd

:failStop
pause
exit

 

createDatasource.py

 

#=======================================================================================
# This script is used to create DataSource in the Domain
#=======================================================================================
INITIALCAPACITY=1
MAXCAPACITY=30
CAPACITYINCREMENT=1
STATEMENTCACHESIZE=300

connect(os.environ['WL_USER'],os.environ['WL_PWD'],os.environ['SERVER_T3_URL'])
edit()

cd(os.environ['DS_TARGET'])
target=cmo

startEdit()

#=======================================================================================
# Create DataSource
#=======================================================================================
for i in range(1,int(os.environ['DS_NUM'])):
cd('/')
print 'Creating DS:'+os.environ['DS_'+str(i)+'_NAME']
jdbcSR = create(os.environ['DS_'+str(i)+'_NAME'], 'JDBCSystemResource')
theJDBCResource = jdbcSR.getJDBCResource()
theJDBCResource.setName(os.environ['DS_'+str(i)+'_NAME'])
dsParams = theJDBCResource.getJDBCDataSourceParams()
dsParams.addJNDIName(os.environ['DS_'+str(i)+'_JNDI_NAME'])
driverParams = theJDBCResource.getJDBCDriverParams()
driverParams.setUrl(os.environ['DS_'+str(i)+'_URL'])
driverParams.setDriverName(os.environ['DS_'+str(i)+'_DRIVER'])
driverParams.setPassword(os.environ['DS_'+str(i)+'_PWD'])
driverProperties = driverParams.getProperties()
proper = driverProperties.createProperty('user')
proper.setValue(os.environ['DS_'+str(i)+'_USER'])
proper = driverProperties.createProperty('portNumber')
proper.setValue(os.environ['DS_'+str(i)+'_PORT'])
proper = driverProperties.createProperty('serverName')
proper.setValue(os.environ['DS_'+str(i)+'_HOST'])
cd('/JDBCSystemResources/'+os.environ['DS_'+str(i)+'_JNDI_NAME']+'/JDBCResource/'+os.environ['DS_'+str(i)+'_JNDI_NAME']+'/JDBCConnectionPoolParams/'+os.environ['DS_'+str(i)+'_JNDI_NAME'])
cmo.setMaxCapacity(MAXCAPACITY)
cmo.setCapacityIncrement(CAPACITYINCREMENT)
cmo.setStatementCacheSize(STATEMENTCACHESIZE)
cmo.setInitialCapacity(INITIALCAPACITY)
jdbcSR.addTarget(target)

print 'All DataSource added complate!'

save()
act