# Configuration and User Guide

# Creating Virtual WebLogic Domains

The following topics describe the procedures to create virtual WebLogic domains and also provide additional configuration information:

- Overview
- Before You Begin
- Using the P2V Domain Conversion Utility
- Copying Domain Artifacts Using the LiquidVM SSH Service
- Configuring a Virtual Domain to Access an NFS Server
- Moving a WLS-VE Domain to a Production Environment
- Moving a WLS-VE Domain to a Production Environment
- Additional Configuration Tasks
- Deploying an Application to WLS-VE

## Overview

The Physical-to-Virtual (P2V) Domain Conversion utility for WebLogic helps simplify the conversion of WLS Managed Servers in a domain to WLS-VE instances in the hypervisor environment, as follows:

- Stages WLS-VE instances on the ESX server for selected servers in a domain, and makes sure that the domain, patches, and connection information is available for the new WLS-VE instances. You create one such WLS-VE instance for each Managed Server (and optionally the Administration Server) in a domain.
- Generates start scripts in the domain directory on the launcher machine (the host on which the tool is run). These scripts are used to complete the configuration process and start the newly generated WLS-VE instances.

The P2V utility packages up the following WLS artifacts:

- Product artifacts — WLS patches and security files. The P2V utility will either copy the `boot.properties` file from the `/AdminServer` directory or create such a file from the user-specified name and password. It will also either copy/install the SSH public key when specified or set the password when this option is selected.
- Domain artifacts — All shared files in the entire domain directory (excluding logs and tmp, and only the specific folder (under the `/servers` directory) for each server being virtualized.
- Application artifacts — EARs deployed in the domain (does not include referenced applications or libraries).

The P2V utility also generates start scripts in the domain directory on the launcher machine to complete the configuration and start the newly generated WLS-VE instances. A sample WLS-VE configuration is illustrated and described in the Configuration Overview.

Note: | If you are using an NFS share, you must configure any NFS connections after using the P2V utility to create a virtualized domain.

## Before You Begin

Before attempting to configure and run WLS-VE, ensure the following:

- Java SE 5.0 or above must be installed on the launcher machine where the P2V utility will be run.
- ESX artifacts (datacenter, host or cluster, optional resource pool, datastore, and so on) exist.
- The WLS-VE ISO image is available from the VMware Virtual Infrastructure. BEA recommends that the ISO image reside in a datastore on the local disk for each ESX Server, or on a SAN. Normally, you copy the ISO image to the datastore during the WLS-VE configuration process. See Copying the WLS-VE ISO Image.
- Run the LiquidVM Configuration Wizard on the launcher machine to configure the connection between the LiquidVM tools running on the launcher machine and the Virtual Center and ESX server. See Configuring LiquidVM Connection Parameters.
- Depending on the networking options you want to use for LVM, confirm your configuration information:

- DHCP — Uses DHCP for WLS-VE network configuration.

Note: | If DHCP is used for the Administration Server, your network administrators must guarantee that the it gets a fixed IP from the DHCP server.

- Static IP and DHCP — Uses a static IP address but DHCP will be used for other networking attributes.
- Static IP — Obtains a set of IP addresses for WLS-VE instances. Also obtain networking information (for example, netmask, gateway, DNS servers, and domain name) if static configuration is to be used for all networking attributes.

- If public key authentication is to be used for SSH connections to LVM instances, then generate SSH key-pair on the launcher machine using a tool like `ssh-keygen`. You should also review the Using the LiquidVM SSH Service documentation.

### Preparing an Existing WebLogic Domain for Virtualization

When you convert from a non-virtualized implementation of a WLS 10.0 MP1 domain to a WLS-VE domain, you may need to make some modifications to the domain’s configuration file (c`onfig.xml`) and/or application code to ensure successful operation.

Tip: | BEA recommends making a back-up copy of your entire domain, and then editing and using this copy when virtualizing your domain so your original domain remains intact.

#### Out-of-Domain Dependencies

The P2V utility does not handle out-of-domain dependencies, such as referenced libraries, nor does it modify the WLS domain configuration file (`config.xml`) or any other files under the domain directory. Therefore, any path references in the `config.xml` that are valid only for the local physical machine must be modified with respect to the LVM file system path using the UNIX-style path convention, as follows:

- Change the path to one that is relative to the domain directory, using the UNIX-style path convention (for example, `./applications/myapp/myapp.jar`)

In this case, the files must be present in the domain directory before the P2V utility is run to transfer the domain.

- Change the path to an absolute path with respect to LVM file system, using UNIX style path convention (for example, `/usr/apps/myapp/myapp.jar`)

In this case, the P2V utility is not going to transfer the files to LVM file system. Instead, the files should be copied using a `scp` or `sftp` client after the LVM instance is created and then restarted in passive mode. See Copying Domain Artifacts Using the LiquidVM SSH Service.

#### ListenAddress

If server instances that are to be virtualized use the `ListenAddress` attribute (including the `ListenAddress` attribute in any configured `NetworkAccessPoint`), you must remove the address for those servers so that WLS automatically binds to the IP address of LVM.

#### WLST connect()

If an application uses default values for the host in the WLST `connect()` command, you will need to change it so that the hostname can be passed in.

## Using the P2V Domain Conversion Utility

The following steps explain how to use the P2V Domain Conversion utility to convert the physical WLS instances in the domain to WLS-VE instances in the hypervisor environment. You create one such instance for each Managed Server (and optionally the Administration Server) in the domain.

Complete details for creating WebLogic domains is provided in Creating WebLogic Domains Using the Configuration Wizard.

1. Depending on your OS, start the P2V Domain Conversion utility on the launcher machine as shown in Table 5-1:

   Table 5-1 Starting the P2V Utility
   To start the P2V utility on this platform . . . | Perform the following steps . . .
   --- | ---
   Windows | From the command-line: Open a Command Prompt window and navigate to `server1001ve12`\tools\ Enter the following command: `p2v_wizard.cmd`
   Linux | Set the `DISPLAY` environment variable Open a command shell and navigate to `server1001ve12`/tools/ Enter the following command: `p2v_`wizard.sh

The P2V Domain Conversion utility launches.

2. On the Select Domain & BEA-home window, specify the BEA Home and WebLogic domain to virtualize:

- BEA-home: Enter the BEA Home on the launcher machine that contains the patches for the domain that you want virtualize.
- WL-domain to virtualize: Enter a domain name and a location on the launcher machine that you want to virtualize. The default location is `BEA_HOME``\user_projects\domains`. At a minimum, the domain directory must contain a `\config` directory with a `config.xml` file.

Click Next.

3. On the Provide WLS user & password window, enter a username and password to be used by the WebLogic Administrator and click Next.

Note: | This option is only displayed if these credential are not stored in a boot identity file (`boot.properties`) in the physical domain, specifically, in the Administration Server’s security directory (for example, `domain\servers\AdminServer\security\boot-properties`). When you start the Administration Server, it refers to the boot identity file for the encrypted user credentials. WLS-VE does not provide an interactive prompt, so you cannot specify these credentials when the WLS-VE instance is booting.

Click Next.

4. On the SSH information window, select whether SSH should be on by default or not, and if used, then select the type of authentication that should be configured for the ISO image:

- off (the default)
- Public Key Authentication – in the SSH Public Key field, specify the location of the SSH Public Key (which should be in a file in OpenSSH-format). Only RSA format is supported, so the public key string must begin with `ssh-rsa`.
- Password Authentication – in the SSH Password field, specify the password.

Note: | When enabled, the same authentication will be installed on each virtual server. If you want to have different authentication keys or passwords on different virtual servers, you have to manually make those changes post-installation.

Click Next.

Caution: If the SSH private key is somehow lost, there is no way to exchange the old key that is installed on the WLS-VE instance. For a workaround to this situation, see Installing a Real Password In Addition to a Public Key.

5. On the Select servers to virtualize window, define which elements of the domain that you want to be virtualized. For example, you may want to virtualize all the servers in the domain or just the Managed Servers.

1. Select the tab for the server instance in the domain that you want to virtualize, and then specify the properties described in Table 5-2:

Table 5-2 Create VE Server Properties
Property | Description
--- | ---
Convert to WLS-VE | Select this check box to enable the virtual server selection properties on the tab.
Server name | Displays the selected WLS name in the specified domain.
Server type | Displays the type of server, either an Administration Server or a Managed Server.
LVM name | The name for the WLS-VE instance.
VM size (MB) | The amount of memory allocated to the WLS-VE instance. Default: 1,024 MB Minimum: 500 MB Maximum: 3700 MB
Disk size (MB) | The disk size allocated to the WLS-VE instance. Default: 500 MB Minimum: 200 MB Maximum: dependent on server capacity
Number of processors | The number of CPUs to use (1,2, or 4).
Log Receiver address | A hostname or IP address of a remote syslog receiver.
Network configuration | The network configuration defaults to DHCP. If DHCP is selected for the Administration Server, then no IP address will be set in the generated start scripts and LVM will query the DHCP server to obtain an IP address. If the IP address’s time-to-live has expired, then LVM can get a new IP address. To use a different network configuration, click the Change button to specify other options: Network Configuration Type: Select either `STATIC_IP_AND_DHCP` or `STATIC_IP`. Note: To avoid an invalid IP address in the start script files, BEA recommends that the Administration Server uses a static IP address. If DHCP is used, your network administrator must guarantee that the Administration Server gets a fixed IP from the DHCP server. IP-address: If using `STATIC_IP_AND_DHCP` or `STATIC_IP`, the IP address this LVM should use. If left unset, the LVM uses DHCP to dynamically obtain an IP address. Network-mask: The subnet mask for your network. You need to set this value if you are not using DHCP or you are not using default settings for netmask. The default netmask is 255.255.255.0. Gateway: The octet (`###.###.###.###`) for the gateway between your current network and the one you want to access. You need to set this value if you are not using DHCP. The standard gateway is the static IP address masked with the set netmask, with a 1 in the lowest octet; for example if the netmask is the standard 255.255.255.0 and the static IP is 172.23.80.102, then the default gateway is 172.23.80.1. If the netmask is 255.255.0.0 and the static IP address is the same (172.23.80.102), then the gateway is 172.23.0.1. DNS Servers: The DNS server the LVM should use. Domain name: The network domain name for the LVM instance. Click OK when finished.
VMware Compute Resource | Select the target ESX server within the VMware Datacenter.
VMware ResourcePool | Select the VMware resource pool on the ESX server to use.
VMware VM Datastore | Select the VMware datastore to store the virtual server on.
VMware Network | Select the VMware network to use.
WebLogic ISO file | Define the local storage on the ESX server where you copied the WLS-VE ISO image, making sure to use the following naming convention (including the brackets): `[``storage name``]` path`/*.iso`
Note: | The P2V utility cannot verify the contents of a remote ISO image, so you must verify that you are selecting the right ISO-image. Further, the P2V utility does not upload a local ISO image to the VI environment; therefore, it is up to you to make sure the appropriate ISO images have been uploaded before the utility is run.

2. Click the tab for other server instances in the domain that you want to virtualize and repeat the property selection process.
3. Click Next when finished.

6. The Confirm server generation window lists the virtual servers that will be generated. Click Next to start the process.

The Creating servers and generating scripts window displays the progress during the domain creation process. At this point, the ISO is being created, and then an SSH session is opened with the VMware server and the virtual servers and their corresponding start scripts are created.

When successful, you should see a message similar to the following:

    Creating LVM WLS-AdminServer for WL server AdminServer
    Started LVM. Waiting for SSH to start
    Connecting to SSH server at 172.23.80.102 on port 22
    Copying server domain files and patches
    Successfully created LVM WLS-AdminServer on esx.bea.com in demo_2 resource pool

    Creating LVM WLS_MS1 for WL server MS1
    Started LVM. Waiting for SSH to start
    Connecting to SSH server at 172.23.81.105 on port 22
    Copying server domain files and patches
    Successfully created LVM WLS_MS1 on esx.bea.com in demo_2 resource pool

    Generating scripts for starting WebLogic servers
    Generated scripts in C:\wls1001\user_projects\domains\dev_domain\virtual

7. Click Done to exit the utility.
8. Use the VMware VI Client to verify that the new WLS-VE instance is listed in the Host and Clusters list in the left navigation pane.

### What’s Next?

As shown in Roadmap for Configuring a WLS-VE Domain, the next step in the process is to start new virtual servers using the WLS-VE start scripts generated by the P2V utility, as described in Run the P2V-Generated Start Scripts:

## Run the P2V-Generated Start Scripts

As shown in Roadmap for Configuring a WLS-VE Domain, the next step to complete the configuration process is to run the server start scripts in the `/virtual` directory generated by the P2V utility, as shown in Table 5-3:

Table 5-3 P2V-generated Start Scripts
Platform | Start Script Names
--- | ---
Windows | `DOMAIN_NAME``\virtual\` `start` `servername``.cmd` `commonVEStart.cmd`
Linux | `DOMAIN_NAME``/virtual/` `startservername``.sh` `commonVEStart.sh`

where `DOMAIN_NAME` is the directory name of the domain that was selected for virtualization, typically `BEA_HOME``\user_projects\domains\``DOMAIN_NAME``.`

Initially, the scripts must be run from a command-line to complete the P2V configuration process, as follows:

1. Open a command-line shell and navigate to the `DOMAIN_NAME``/virtual` directory containing the start scripts.
2. Execute the start command by entering the name of the server start script at the prompt. Sample start script commands are shown in Table 5-4.

Table 5-4 Running the Start Scripts
To . . . | Enter . . .
--- | ---
Start a WLS-VE Administration Server | Windows — `start` `AdminServerName``.cmd` Linux — `start` `AdminServerName``.sh`
Start a WLS-VE Managed Server | Windows — `start` `ManagedServerName``.cmd` Linux — `start` `ManagedServerName``.sh`

Tip: | For domains with Managed Servers, start the Administration Server first, followed by the Managed Servers. This way the Managed Servers will obtain their domain configuration from the Administration Server.

The startup scripts also call the `commonVEStart.cmd` startup script in the `/virtual` directory. Therefore, when you start a WLS-VE instance, LiquidVM boots (in `active` mode) and simultaneously boots the associated server.

Note: | You can also start a LiquidVM instance in `passive` mode. In `passive` mode, only the LiquidVM services are started; the server is not started. For instructions about starting LiquidVM in passive mode, see Task 1: Start LiquidVM in Passive Mode.

For more information about starting and stopping WLS-VE instances after the initial startup, see Starting and Stopping WLS-VE.

### What’s Next?

As shown in Roadmap for Configuring a WLS-VE Domain, the next step, if necessary, is to copy domain-related files to the local disk of the LVM instance on the ESX server using the SSH service provided by the LVM. For details, see Copying Domain Artifacts Using the LiquidVM SSH Service.

## Copying Domain Artifacts Using the LiquidVM SSH Service

After you have created and started the new WLS-VE instances, you can copy any application files not stored in the domain directory (that is, referenced applications) to the instances using the SSH service provided with LiquidVM. This may be necessary because the P2V utility does not handle out-of-domain dependencies, such as referenced libraries.

Note: | BEA recommends that you follow these steps for each of the virtual servers that you created in your domain.

For a description of all the P2V-generated start script parameters, see The P2V-Generated Start Script Properties.

To copy files to a virtual server using the LiquidVM SSH service, follow these tasks.

### Task 1: Start LiquidVM in Passive Mode

When you start LiquidVM in passive mode, only the LiquidVM services, including the SSH service, are started. To start LiquidVM in passive mode, you need to set the `LVM_startMode=passive` option in the start script arguments and start LiquidVM as described in the following steps.

1. Modify the P2V-generated start script(s) for the LVM instance as follows:

- `LVM_START_MODE`—Set this parameter to `passive` to start LiquidVM in passive mode. The default is `active` mode. Note that when you set the start mode to `passive`, SSH is used by default.

Note: | If `LVM_SSH=on`, the SSH server will be available in `active` mode as well as `passive` mode.

If you are starting an LVM instance for a Managed Server, verify that the `ADMIN_URL` is pointing to the IP address of the Administration Server (for the Administration Server, `ADMIN_URL` must be blank).

2. Start LiquidVM in passive mode as follows:

1. Navigate to the `DOMAIN_NAME``\virtual\`directory, where `DOMAIN_NAME` is the name of the directory in which you located the domain, typically `BEA_HOME``\user_projects\domains\``DOMAIN_NAME``.`
2. Execute the start command by entering the name of the server start script at the prompt. For example, if your start scripts are named `startADMIN.sh/cmd` or `startManaged_nn.sh/cmd`, as described in Run the P2V-Generated Start Scripts, you enter the name of that start script at the prompt:

`startAdmin.sh` (`.cmd` on Windows)

or

`startManaged_``nn``.sh` (`.cmd` on Windows)

Output similar to the following is displayed in the Command Prompt window:

    LVM_INFO:  C:\wls1001\user_projects\domains\dev_domain\virtual\AdminServer_lvm_vmware.info

    LVM_ARGS: name=WLS-AdminServer cwd=/domain cpus=1 memory=1024 diskSize=500 startMode=passive ssh=off ip=123.45.67.890 netMask=255.255.248.0 gateway=172.18.128.1 dns=10.40.0.86 networkDomainName=bea.com

    CLASSPATH:  :/bea/patch_wls1001/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/appliance/java/lib/tools.jar:/appliance/bea/weblogic/server/lib/weblogic_sp.jar:/appliance/bea/weblogic/server/lib/weblogic.jar:/appliance/bea/modules/features/weblogic.server.modules_10.0.1.0.jar:/appliance/bea/modules/features/com.bea.cie.common-plugin.launch_2.1.2.0.jar:/appliance/bea/weblogic/server/lib/webservices.jar:/appliance/bea/modules/org.apache.ant_1.6.5/lib/ant-all.jar:/appliance/bea/modules/net.sf.antcontrib_1.0b2.0/lib/ant-contrib.jar:/appliance/bea/weblogic/common/eval/pointbase/lib/pbclient51.jar:/appliance/bea/weblogic/server/lib/xqrl.jar:

    JAVA_PROPERTIES:  -Dbea.home=/bea -Dweblogic.Name=AdminServer -Dweblogic.ProductionModeEnabled=true -Dweblogic.management.discover=true

    startMode=passive was requested but for that to work ssh must also be turned on.
     Turning ssh on!
    Starting WLS-AdminServer connect...lookup...configure...start...booting...
    Initial log from LiquidVM instance follows:
    --------------------------------------------
    Baremetal hostname: "LVM14.BEA.COM"  IP address: 123.45.67.890
    LiquidVM R1.2.4.0-95617 (BareMetal 4.1.4.0-95612-24)
    --------------------------------------------
    See the console log-file for further data
    LiquidVM IP-address: 123.45.67.890

Note: | If the IP was obtained via DHCP, make sure to take note of the LiquidVM IP address. You will need to provide it when you log into the SSH service, as described in Task 2: Copy the Files to the WLS-VE Instance.

By default, the LiquidVM output is recorded in `\domain\WLS-``servername``.lvm.out`, unless you have specified a different location using the `LVM_CONSOLE_LOG` property in the start script.

3. Optionally, verify that the WLS-VE instance started in passive mode as follows:

1. Log into the VMware VI Client.

The server name, prefixed with `WLS-`, should be listed in the Host and Clusters list in the left navigation pane. For example, if you named your Admin Server `QA_AdminServer`, the name displayed in the navigation pane is `WLS-QA_AdminServer`.

2. Select the server, and then select the Console tab. The console displays the IP address of the server, and the following message:

`INFO: LiquidVM SSH-Server running on port 22`

### Task 2: Copy the Files to the WLS-VE Instance

Use an SSH-2 compatible file transfer client of your choice, such as `scp` or `sftp`, to login to the SSH service and transfer the necessary files. Note the following:

- You need to specify the IP address of the LiquidVM instance noted in Task 1: Start LiquidVM in Passive Mode as the Hostname.
- If you provided an SSH public key in the start script, you will be prompted to provide the private key to login to the SSH service.
- Login as the user `liquidvm`. LiquidVM is a single-process, single-user environment; only the user `liquidvm` is supported.
- Copy the necessary files as follows:

- When copying files that are outside of local `DOMAIN_NAME` directory, you can copy them anywhere in LVM file system. The only restrictions are that you cannot write under the `/appliance` directory and you should not write under system directories (such as `/etc`). You can write to directories such as `/apps` or `/usr/apps`. These directories are not present by default, but can be created using a `scp` or `sftp` session.
- When copying domain-related files from the `DOMAIN_NAME` directory on the launcher machine to the `/domain` directory inside the WLS-VE instance on the ESX server. (Do not create a `DOMAIN_NAME` subdirectory under the `/domain` directory on the WLS-VE instance; the files must be copied directly under the `/domain` directory.) By default, `/domain` is defined as the current working directory within the LiquidVM instance.

### Task 3: Shut Down the LiquidVM Instance

You can shut down the LiquidVM instance using the VMware VI Client as follows:

1. If you have not already done so, log into the VMware VI Client.

The server name, prefixed with `WLS-`, should be listed in the Host and Clusters list in the left navigation pane. For example, if you named your Admin Server `QA_AdminServer`, the name displayed in the navigation pane is `WLS-QA_AdminServer`.

2. Select the server, and then select the Console tab.
3. Click inside the Console window of the VI Client and press Ctrl-C.

Note: | When you click inside the Console window, most keys on your keyboard are disabled and your mouse pointer disappears. However, certain keyboard functions, including Ctrl-C still function.

For more information about using the VI Client, see Working with WLS-VE Using the VMware VI Client.

### Task 4: Re-start the WLS-VE Instance

1. In your local file system on the launcher machine, navigate to `DOMAIN_NAME``/virtual/` directory and open the start script that you edited in Task 1: Start LiquidVM in Passive Mode.
2. Edit the following property in the start script and save the file:

- `LVM_START_MODE`—Set this parameter to `active` to start the WLS-VE instance in active mode. In active mode, both the LVM services and the main WLS classes are started.

Note: | When SSH is enabled, you can remove the `LVM_SSH` line since this parameter does not control active or passive mode.

3. Execute the start command by entering the name of the server start script at the prompt; for example:

`startAdmin.sh` (`.cmd` on Windows)

or

`startManaged_``nn``.sh` (`.cmd` on Windows)

4. Optionally, verify that the WLS-VE instance started as follows:

1. Log into the VMware VI Client.

The server name, prefixed with `WLS-`, should be listed in the left navigation pane. For example, if you named your Admin Server `QA_AdminServer`, the name displayed in the navigation pane is `WLS-QA_AdminServer`.

2. Select the server, and then click the Summary tab.

In the General pane, the State field indicates Powered On.

Note: | The Powered On state does not always indicate active vs. passive mode. For active mode, the WLS main class will be executed, so the VMware console will show messages from WLS.

### What’s Next?

As shown in Roadmap for Configuring a WLS-VE Domain, after you have successfully started your WLS-VE instance from the command-line, you can start and stop the servers, and administer the WLS-VE environment as required. See Starting and Stopping WLS-VE.

## Configuring a Virtual Domain to Access an NFS Server

After using the P2V utility to convert a physical domain to a virtualized domain, you must manually configure any NFS connections. Before doing so, make sure that both your ordinary OS and your WLS-VE instance have access to the same NFS-share.

For details about generating a WebLogic 9.2 domain to an NFS share, see “Configuring and Starting WLS-VE Domains” in version 1.0 Installation and Configuration Guide.

Note: | Creating a domain on an NFS share is less secure than using a local disk. BEA recommends using a local disk on the WLS-VE instance instead.

## Moving a WLS-VE Domain to a Production Environment

You use the same procedures to move a WLS-VE domain from a development environment to a production environment that you use for standard WLS domains. Ensuring your environment is secure is critical in a production environment. For important security recommendations, see Securing Your Production Environment

## Additional Configuration Tasks

Since WLS-VE contains both a JVM and a virtualized WLS instance, you can configure both devices by using the same configuration flags used by their non-virtualized editions. Usually, you can do this from the WLS Administration Console. Refer to System Administration for BEA WLS 10.0 for complete information on how to:

- Configure a WLS environment
- Configure server security
- Configure system resources
- Configure and deploy applications
- Configure WLS environments for high availability

### Tuning LiquidVM

The JVM should already be well-tuned for most WLS applications but you can configure and tune the Java behavior of a machine by setting the necessary Java options in the start-up script for the domain in question. Simply enter the standard J2SE start-up options or BEA JRockit’s non-standard `-X` and `-XX` options at the `JAVA_OPTIONS=` statement.

Listing 5-1 shows a snippet of the Administration Server start-up script, `start` `AdminServername``.sh/cmd`, with `JAVA_OPTIONS=` highlighted.

Listing 5-1 startAdminServername.cmd Code Snippet

    @ECHO OFF
    SETLOCAL
    .
    .
    .
    set PRE_CLASSPATH=
    set POST_CLASSPATH=
    set JAVA_OPTIONS=
    set JAVA_PROPERTIES=

For example, suppose you want to start the machine so that LiquidVM uses a garbage collector (that is, a memory management system) optimized for application throughput. You would do this by setting `JAVA_OPTIONS` as follows:

    JAVA_OPTIONS=“-xgcprio:throughput”

You can string together as many valid options as you need; however, you must place them within quotation marks and separate them with a single space. For example, the following code:

    JAVA_OPTIONS=“-xgcprio:throughput -xgcreport -Xss:512k”

tells the JVM to:

- Start WLS-VE with its JVM using a garbage collector optimized for application throughput (-xgcprio:throughput).
- Generate an end-of-run report that shows garbage collection statistics (-xgcreport).
- Set the thread stack size (memory areas allocated for each Java thread for their internal use) to 512 KB (-Xss:512k).

See the BEA JRockit Command Line Reference for a list of valid LiquidVM start-up options and instructions for using them. For LiquidVM tuning and configuration guidelines, see Profiling and Performance Tuning in the BEA JRockit Diagnostics Guide.

## Deploying an Application to WLS-VE

Deploy applications on WLS-VE the same way you deploy them on non-virtualized WLS. Application deployment generally involves the following tasks:

- Preparing applications and modules for deployment
- Configuring applications for production deployment
- Exporting an application for deployment to new environments
- Deploying applications and modules with `weblogic.Deployer` or the Administration Console
- Redeploying applications in a production environment
- Managing deployed applications

These tasks are detailed in Deploying Applications on BEA WebLogic Server 10.0.