WebLogic Scripting Tool

     Previous  Next    Open TOC in new window  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Creating and Configuring WebLogic Domains Using WLST Offline

WLST enables you to create a new domain or update an existing domain without connecting to a running WebLogic Server (that is, using WLST offline)—supporting the same functionality as the Configuration Wizard.

You can create new configuration information, and retrieve and change existing configuration information that is persisted in the domain configuration files (located in the config directory, for example, config.xml) or in a domain template JAR created using Template Builder.

The following sections describe how to create and configure WebLogic domains using WLST offline. Topics include:

For more information about the Configuration Wizard, see Creating WebLogic Domains Using the Configuration Wizard.

Notes: Before creating or updating a domain, you must set up your environment and invoke WLST, as described in Main Steps for Using WLST. You can exit WLST at anytime using the exit command, as follows: exit()
Note: When using the Configuration Wizard or WLST Offline to create or extend a clustered domain with a template that has applications containing application-scoped JDBC and/or JMS resources, you may need to perform additional steps (after the domain is created or extended) to make sure that the application and its application-scoped resources are targeted and deployed properly in a clustered environment. For more information on the targeting and deployment of application-scoped modules, see Deploying Applications and Modules in Deploying Applications to WebLogic Server.

 


Creating a Domain (Offline)

To create a domain using WLST offline, use one of the options described in the following table. The first option enables you to create a domain from a template, quickly and easily, but does not enable you modify the configuration settings defined in the template at the time of creation. The second option enables you to modify the configuration settings when creating the domain.

Table 3-1 Creating a Domain (Offline) 
Option
To...
Use the following command(s)...
For more information, see...
1
Create a new domain using a specified template.
createDomain(domainTemplate, domainDir, user, password)
2
  1. Open an existing domain template for domain creation
readTemplate(templateFileName)
  1. Modify the domain (optional)
Various commands

Note: Because WLST offline enables you to access and update the configuration objects that appear in the configuration files only, if you wish to view and/or change attribute values for a configuration object that is not already persisted in the configuration files as an XML element, you must first create the configuration object. For more information, see create.

  1. Set the password for the default user, if it is not already set

Note: The default username and password must be set before you can write the domain.

cd('/Security/domainname/User/username')
cmo.setPassword('
password')
  1. Write the domain configuration information to the specified directory
writeDomain(domainDir)
  1. Close the current domain template
closeTemplate()

 


Updating an Existing Domain (Offline)

To update an existing domain using WLST offline, you perform the steps defined in the following table.

Table 3-2 Steps for Updating an Existing Domain (Offline) 
Step
To...
Use this command...
For more information, see...
1
Open an existing domain for update
readDomain(domainDirName)
2
Extend the current domain (optional)
addTemplate(templateFileName)
3
Modify the domain (optional)
Various commands

Note: Because WLST offline enables you to access and update the configuration objects that appear in the configuration files only, if you wish to view and/or change attribute values for a configuration object that is not already persisted in the configuration files as an XML element, you must first create the configuration object. For more information, see create.

4
Save the domain
updateDomain()
5
Close the domain
closeDomain()

Browsing and Accessing Information About the Configuration Bean Hierarchy (Offline)

To browse and access information about the configuration bean hierarchy using WLST offline, you can perform any of the tasks defined in the following table.

Note: Because WLST offline enables you to access and update the configuration objects that appear in the configuration files only, if you wish to view and/or change attribute values for a configuration object that is not already persisted in the configuration files as an XML element, you must first create the configuration object.

Table 3-3 Displaying Domain Configuration Information (Offline) 
To...
Use this command...
For more information, see...
Navigate the hierarchy of configuration beans
cd(path)
List child attributes or configuration beans for the current configuration bean
ls(['a' | 'c'])
Toggle the display of the configuration bean navigation path information at the prompt
prompt(['off'|'on'])
Display the current location in the configuration bean hierarchy
pwd()
Display all variables used by WLST
dumpVariables()
Display the stack trace from the last exception that occurred while performing a WLST action
dumpStack()

Editing a Domain (Offline)

To edit a domain using WLST offline, you can perform any of the tasks defined in the following table.

Note: Because WLST offline enables you to access and update the configuration objects that appear in the configuration files only, if you wish to view and/or change attribute values for a configuration object that is not already persisted in the configuration files as an XML element, you must first create the configuration object.

For more information about:

 


Creating a Domain Template (Offline)

To create a domain template using WLST offline, perform the steps described in the following table.

Note: You can also use the pack command to create a domain template quickly and easily. For more information, see Creating Templates and Domains Using the pack and unpack Commands.

Table 3-5 Steps for Creating a Domain Template (Offline) 
Step
To...
Use this command...
For more information, see...
1
Open an existing domain or template
readDomain(domainDirName)
readTemplate(templateFileName)
2
Set the password for the default user, if it is not already set

Note: The default username and password must be set before you can write the domain template.

cd('/Security/domainname/User/username')
cmo.setPassword('
password')
3
Write the domain configuration information to a domain template
writeTemplate(templateName)

 


Exporting Diagnostic Data (Offline)

To export diagnostic information using WLST offline, use the exportDiagnosticData command defined in the following table.

The results are saved to an XML file. For more information about the WebLogic Server Diagnostic Service, see Configuring and Using the WebLogic Diagnostic Service.

Table 3-6 Exporting Diagnostic Data 
To...
Use this command...
For more information, see...
Execute a query against the specified log file
exportDiagnosticData([options])

 


Stepping Through a Sample Script: Creating a Domain Using WLST Offline

The following example steps through a sample script that creates a WebLogic domain using the Basic WebLogic Server Domain template. The sample script demonstrates how to open a domain template; create and edit configuration objects; write the domain configuration information to the specified directory; and close the domain template.

The script shown is installed with your product at WL_HOME\common\templates\scripts\wlst\basicWLSDomain.py, where WL_HOME refers to the top-level installation directory for WebLogic Server. See also WLST Offline Sample Scripts for a description of the full set of sample scripts that are installed with your product.

To create a WebLogic domain using the Basic WebLogic Server Domain template:

  1. Open an existing domain template (assuming WebLogic Server is installed at c:/bea/weblogic92). In this example, we open the Basic WebLogic Server Domain template.
  2. readTemplate('c:/bea/weblogic92/common/templates/domains/wls.jar')
    Note: When you open a template or domain, WLST is placed into the configuration bean hierarchy for that domain, and the prompt is updated to reflect the current location in the configuration hierarchy. For example:
    Note: wls:/offline/base_domain>
    Note: WebLogic Server configuration beans exist within a hierarchical structure. Similar to a file system, the hierarchies correspond to drives; types and instances are directories; attributes and operations are files. WLST traverses the hierarchical structure of configuration beans using commands such as cd, ls, and pwd in a similar way that you would navigate a file system in a UNIX or Windows command shell. After navigating to an configuration bean instance, you interact with the bean using WLST commands. For more information, see Navigating and Interrogating MBeans.
  3. Configure the domain.
    1. Configure the Administration Server and SSL port.
    2. cd('Servers/AdminServer')
      set('ListenAddress','')
      set('ListenPort', 7001)
      create('AdminServer','SSL')
      cd('SSL/AdminServer')
      set('Enabled', 'True')
      set('ListenPort', 7002)
    3. Define the default user password.
    4. cd('/')
      cd('Security/base_domain/User/weblogic')
      cmo.setPassword('weblogic')
    5. Create a JMS Server.
    6. cd('/')
      create('myJMSServer', 'JMSServer')
    7. Create a JMS system resource.
    8. cd('/')
      create('myJmsSystemResource', 'JMSSystemResource')
      cd('JMSSystemResource/myJmsSystemResource/JmsResource/NO_NAME_0')
      Note: WLST exposes a directory hierarchy for the MBeans in the WebLogic Server MBean server. This hierarchy is of the form attribute name/instance name. You can use the cd command to navigate to other MBeans within the attributes. For example, if the attribute name is Servers and the instance name is myserver, you can use the following command:
      Note: cd("Servers/myserver")
      Note: Many of the MBeans in the WebLogic Server MBean server contain a Name attribute. If an MBean contains a Name attribute, then that name is used as the instance name. However, when the Name attribute is not available for an MBean, WLST constructs the instance name to be of the NO_NAME_x format. Initial value of x is 0 and this value is incremented by 1.
    9. Create a JMS queue and its subdeployment.
    10. myq=create('myQueue','Queue')
      myq.setJNDIName('jms/myqueue')
      myq.setSubDeploymentName('myQueueSubDeployment')
      cd('/')
      cd('JMSSystemResource/myJmsSystemResource')
      create('myQueueSubDeployment', 'SubDeployment')
    11. Create a JDBC data source, configure the JDBC driver, and create a new JDBC user.
    12. cd('/')
      create('myDataSource', 'JDBCSystemResource')
      cd('JDBCSystemResource/myDataSource/JdbcResource/myDataSource')
      create('myJdbcDriverParams','JDBCDriverParams')
      cd('JDBCDriverParams/NO_NAME_0')
      set('DriverName','com.pointbase.jdbc.jdbcUniversalDriver')
      set('URL','jdbc:pointbase:server://localhost/demo')
      set('PasswordEncrypted', 'PBPUBLIC')
      set('UseXADataSourceInterface', 'false')
      create('myProps','Properties')
      cd('Properties/NO_NAME_0')
      create('user', 'Property')
      cd('Property/user')
      cmo.setValue('PBPUBLIC')

      cd('/JDBCSystemResource/myDataSource/JdbcResource/myDataSource')
      create('myJdbcDataSourceParams','JDBCDataSourceParams')
      cd('JDBCDataSourceParams/NO_NAME_0')
      set('JNDIName', java.lang.String("myDataSource_jndi"))

      cd('/JDBCSystemResource/myDataSource/JdbcResource/myDataSource')
      create('myJdbcConnectionPoolParams','JDBCConnectionPoolParams')
      cd('JDBCConnectionPoolParams/NO_NAME_0')
      set('TestTableName','SYSTABLES')
    13. Target the resources.
    14. cd('/')
      assign('JMSServer', 'myJMSServer', 'Target', 'AdminServer')
      assign('JMSSystemResource.SubDeployment', 'myJmsSystemResource.myQueueSubDeployment', 'Target', 'myJMSServer')
      assign('JDBCSystemResource', 'myDataSource', 'Target', 'AdminServer')
  4. Save the domain.
  5. setOption('OverwriteDomain', 'true')
    writeDomain('c:/bea/user_projects/domains/wls_testscript')
  6. Close the current domain template.
  7. closeTemplate()
  8. Exit WLST.
  9. exit()

  Back to Top       Previous  Next