Overview
* A command line scripting tools for WebLogic domain management:
– create
– manage
– monitor
* Based on Jython
WSLT Online
* Is a JMX client
* Equivalent to Admin Console
– needs running Admin Server and active WebLogic domain
* Can
– view performance data
– manage security data
* Can NOT
– modify config data for managed servers
WSLT Offline
* Provides read/write access to config data
* Should NOT be used on active WebLogic domain (ignored/overwritten otherwise)
* Can
– create domain templates
– create a new domain based on existing templates
– extend an existing, inactive domain
* Can NOT
– view performance data
– modify security data
Command Modes
Interactice Mode
Script Mode
* Script needs .py file extension
* Can
– automate server config and application deployment
– apply same config setings across multiple nodes of a topology
– script scheduling
– automate complex procedures
– config an application in a hands free data center
Embedded Mode
* WLST interpreter is instantiated in Java code.
* WLST commands and scripts are then run from within Java code.
Secure WLST Connection
Admin Port
* WLST connects to a server instance via admin port.
* Default to 9002
* SSL enabled
Secure Access from WLST Online
* Use user name and password as defined in the active WebLogic security realm.
– From command line
connect('weblogic', 'welcome1', 'localhost:7001')
– From password file
# Prepare password files connect('weblogic', 'welcome1', 'localhost:7001') storeUserConfig('c:/myFiles/myuserconfigfile.secure', 'c:/myFiles/myuserkeyfile.secure') # Use password files connect(userConfigFile='c:/myfiles/myuserconfigfile.secure', userKeyFile='c:/myfiles/myuserkeyfile.secure')
– Use boot.properties file
# boot.properties file in current directory connect()
Main Steps for Using WLST in Interactive or Script Mode
Invoking WLST
* Execute the appropriate shell script for your environment.
– UNIX
cd WL_HOME/common/bin ./wlst.sh
– Windows
cd WL_HOME\common\bin
wlst.cmd
* Execute the java weblogic.WLST command.
java [ -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.TrustKeyStore=DemoTrust ] [ -Dweblogic.security.JavaStandardTrustKeyStorePassPhrase=password] [ -Dweblogic.security.CustomTrustKeyStoreFileName=filename -Dweblogic.security.TrustKeystoreType=jks [ -Dweblogic.security.CustomTrustKeyStorePassPhrase=password]] [ -Dweblogic.security.SSL.hostnameVerifier=classname] weblogic.WLST [ -loadProperties propertyFilename ] [ -skipWLSModuleScanning ] [ [-i] filePath.py ]
– Example:
jjava weblogic.WLST c:/Oracle/Middleware/wlserver/templates/scripts/wlst/distributeQueues.py java -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.TrustKeyStore=DemoTrust weblogic.WLST c:/Oracle/Middleware/wlserver/templates/scripts/wlst/distributeQueues.py
* Run a WLST script.
– Use Java command line:
java weblogic.WLST c:/Oracle/Middleware/wlserver/templates/scripts/wlst/distributedQueues.py
– From WLST interactive mode:
wls:offline> execfile('c:/Oracle/Middleware/wlserver/templates/scripts/wlst/distributedQueues.py')
* Execute the WebLogic Scripting Tool command from the Start menu (Windows only).
* Running WLST from Ant.
– Set env:
WL_HOME\server\bin\setWLSEnv.cmd (or setWLSEnv.sh on UNIX)
– Import task:
<taskdef name="wlst" classname="weblogic.ant.taskdefs.management.WLSTTask" />
– Examples
<target name="configServer"> <wlst debug="false" failOnError="false" executeScriptBeforeFile="true" fileName="./myscript.py"> <classpath> <pathelement location="${my.classpath.dir}"/> </classpath> <script> connect('weblogic','welcome1','t3://localhost:7001') </script> </wlst> </target>
<path id="my.classpath"> <pathelement location="${my.classpath.dir}"/> </path> <target name="loop"> <wlst debug="true" executeScriptBeforeFile="false" fileName="./myscript.py" failOnError="true"> <classpath> <pathelement location="${my.classpath.dir}"/> </classpath> <script replaceProperties="true"> print 'In the target loop' connect('${admin.user}','${admin.password}','t3://localhost:7001') svrs = cmo.getServers() print 'Servers in the domain are' for x in svrs: print x.getName() </script> </wlst> </target>
<target name="error"> <wlst debug="true" failOnError="false"> <script>print thisWillCauseNameError</script> </wlst> </target>
Exiting WLST
wls:/mydomain/serverConfig> exit() Exiting WebLogic Scripting Tool ...
Syntax for WLST Commands
* Case sensitive.
* Enclose arguments in single or double quotes.
* Escape character: \
* String as is: r
– Example: readTemplate(r’c:\userdomains\mytemplates\mytemplate.jar’)
* If you need to cd to a management object whose name includes a forward slash (/), surround the object name in parentheses.
– For example:cd(‘JMSQueue/(jms/REGISTRATION_MDB_QUEUE)’)
Redirecting Error and Debug Output to a File
* To redirect stdout, stderr to a file:
redirect(outputFile,[toStdOutAsWell])
* Stop redirect:
stopRedirect()
* Example:
wls:/mydomain/serverConfig> redirect('./logs/wlst.log')
Getting Help
help help('online') help('offline') help('get*')
Importing WLST as a Jython Module
* Invoke WLST:
c:\>java weblogic.WLST
wls:/(offline)>
* Use the writeIniFile command to convert WLST definitions and method declarations to a .py file:
wls:/(offline)> writeIniFile(“wl.py”)
The Ini file is successfully written to wl.py
* Open a new command shell and invoke Jython directly by entering the following command:
c:\>java org.python.util.jython
* Import the WLST module into your Jython module using the Jython import command.
>>>import wl
*Now you can use WLST methods in the module. For example, to connect WLST to a server instance:
wl.connect(‘username’,’password’)
….
Customizing WLST
*
Adding Integrated Help for Custom Commands
* Define help text entries:
_ShortDescription _Description _Example _Syntax
* Example:
navigate_ShortDescription=\ Lists commands for navigating the hierarchy of beans. navigate_Description=\ \n Navigates the hierarchy of beans and controls the prompt display. \n
*
*
*
References
* Oracle® Fusion Middleware Oracle WebLogic Scripting Tool 11g Release 1 (10.3.4)
* Oracle® Fusion Middleware WebLogic Scripting Tool Command Reference 11g Release 1 (10.3.4)
One Response to WebLogic 11g: WebLogic Scripting Tool (WLST)