# DeployerRuntimeMBean

Overview | Related MBeans | Attributes | Operations

## Overview

This MBean is the user API for initiating deployment requests and exists only on an Admin Server. To access this MBean use DeployerRuntime#getDeployerRuntime() .

The deployment methods in this MBean provide access to the 2 phase deployment protocol. This protocol is only supported on WLS 7.x servers and later. If no target servers in an activate request are known to be pre-release 7 servers, then the 2 phase protocol is used. Otherwise the deployment will use the WLS 6.x deployment protocol, even if some target servers are at release 7.

The deployment process involves a number of state changes: start<-->staged<-->prepared<-->active. The methods in this MBean provide the means for changing the state of an application, as follows:

activate: places application in active state from any other state

deactivate: places application in prepared state from active state

unprepare: places application in staged state from active and prepared state

remove: places application in start state from any other state

Activating An Application

The basic process of deploying an application is shown in the following example:

    DeployerRuntimeMBean deployer = getDeployerRuntime(userName, password, adminURL); try { DeploymentTaskRuntimeMBean task = deployer.activate(sourceFile, appName, staging, info, id); } catch (ManagementException me) { System.out.println("Deployment failed: "+me.getMessage()); }

In this example, `sourceFile` is the path to the application. If the application is an EAR, then `sourceFile` would name the EAR archive or the root directory if it is not archived. Similarly, if the application is not an EAR, but a standalone module (web app or EJB), the `sourceFile` argument would be the path to the module archive or directory.

The `sourceFile` argument can be null, indicating that this is a redeployment and that the source is unchanged from a previous deployment.

The `appName`argument is the name to be given to the application. If this is a new deployment, an ApplicationMBean is created. For redeployments, an existing ApplicationMBean with`appName` is used as the application's configured state.

The `info`argument is a DeploymentData object which is used to qualify the deployment in terms of targets of the deployment and an optional list of files which are to be refreshed during a redeploy.

The staging argument is used to specify whether the application is to be staged to the target servers. This argument may be null (use ServerMBean#getStagingMode ), "stage", or "nostage". Staging is the process of uploading the application file to the target servers' staging area, defined in ServerMBean#getStagingDirectoryName .

The `id` argument allows the caller to name the deployment task. Care should be taken here as the tag must be unique. The recommendation is to generally use null for this argument, allowing the system to generate a unique tag.

The deployment process runs asynchronously to the invoker; it will initiate the task then return the DeploymentTaskRuntimeMBean object representing the task to the client. This object may be used to track status of the task. If the client wants to wait until the task completes then the following is a basic method for doing this.

    while (task.isRunning()) { try { Thread.sleep(oneSecond); } catch (InterruptedException ie) {} }

Cancelling A Deployment

Note that a task will not complete until all targets have either completed the deployment or failed. If one of the targets is inactive, the task will remain active until the server starts or the task is cancelled. Cancelling a deployment task is accomplished as follows:

    if (task.isRunning()) { try { task.cancel(); } catch (Exception e) {} }

Targeting Specific Servers

The folowing examples show how to be more specific when targeting a deployment.

    DeploymentData info = new DeploymentData(); info.addTarget(server1,null); // adds server1 as target for all modules // in app String[] mods = { "web-module","ejb" }; info.addTarget(server2,mods); // adds server2 as target for modules // web-module and ejb deployer.activate(sourceFile, appName, info, null, null);   // refreshes the hello.jsp file on all currently targeted servers. // The "jsps" directory is // relative to the root of the application. String[] files = { "jsps/hello.jsp" }; DeploymentData info = new DeploymentData(files); deployer.activate(null, appName, null, info, null);

Deactivating An Application

To deactivate an application is to suspend it. The application files remain staged on the target servers, and can be reactivated without restaging. It should be noted that deactivating an application does not unload any of its classes. To do so requires an `unprepare` operation (see below). The following example show appName being deactivated, then subsequently reactivated on all configured servers.

    deployer.deactivate(appName, null, null); . . . deployer.activate(null, appName, null, null, null);

Unpreparing An Application

To unprepare an application is to suspend and unload it. The application files remain staged on the target servers, and any relevant classes are unloaded. If the application is to be reactivated with new class files, unprepare is the correct approach, rather than deactivate. The following example show appName being unprepared, then subsequently reactivated on all configured servers.

    deployer.unprepare(appName, null, null); . . . deployer.activate(sourceFile, appName, null, null, null);

Removing An Application

Removing an application involves deactivation, unstaging and possible removal of the application. After removing an application from a managed server it is deconfigured from that server. If no servers remain targeted by the application, the entire configuration of the application is removed. Removal does not touch the application source, but will remove staged copies of the application.

    // this completely removes an application from the domain configuration deployer.remove(appName, null, null);

Tracking Deployment Status

Once initiated, a deployment task can be monitored via notifications or polling. Use of notifications relies on JMX Notifications on the relevant ApplicationMBean and is accomplished as follows:

    package examples.deploy;  import java.io.Serializable; import javax.management.MBeanServer; import javax.management.Notification; import javax.management.NotificationFilter; import weblogic.management.DeploymentNotification; import weblogic.management.Helper; import weblogic.management.MBeanHome; import weblogic.management.RemoteNotificationListener; import weblogic.management.configuration.ApplicationMBean; import weblogic.management.deploy.DeploymentData; import weblogic.management.deploy.DeployerRuntime; import weblogic.management.runtime.DeployerRuntimeMBean; import weblogic.management.runtime.DeploymentTaskRuntimeMBean;  // // // This example activates and application and prints the resulting // notifications generated during the processing of the deployment. // The args passed to this // program are: // arg1: userid // arg2: password // arg3: admin URL // arg4: app name // arg5: app source // arg6: target server // //  public class Activater implements Serializable {  private static String userid; private static String password; private static String url; private static String name; private static String source; private static String server;  void deploy() { try { // Get access to MBeanHome MBeanHome home = Helper.getAdminMBeanHome(userid, password, url); // Get the deployer DeployerRuntimeMBean deployer = DeployerRuntime.getDeployerRuntime(home); // Build the DeploymentData object DeploymentData info = new DeploymentData(); info.addTarget(server, null); // Create the deployment task. Last arg indicates to just // create the task, but not initiate it DeploymentTaskRuntimeMBean task = deployer.activate(source,name,null,info,null,false); // Register for notifications ApplicationMBean app = task.getDeploymentObject(); MBeanServer mBeanServer = home.getMBeanServer(); mBeanServer.addNotificationListener( app.getObjectName(), new DeployListener(), new DeployFilter(), null ); // Start the task task.start(); System.out.println(task.getDescription()); // wait until finished while (task.isRunning()) { try { Thread.sleep(1000); } catch (InterruptedException ie) { System.out.println(task.getStatus()); } } } catch (Exception e) { System.out.println(e.getMessage()); } }   public static void main(String[] argv) throws Exception { if (argv.length == 6) { userid = argv[0]; password = argv[1]; url = argv[2]; name = argv[3]; source = argv[4]; server = argv[5]; Activater activater = new Activater(); activater.deploy(); System.exit(0); } }  // Inner classes for handling notifications class DeployListener implements RemoteNotificationListener {  public void handleNotification(Notification notification, java.lang.Object handback) { System.out.println( notification.getMessage() ); } };   // inner class for filtering notifications class DeployFilter implements NotificationFilter, Serializable {  public boolean isNotificationEnabled( Notification n ) { return ( n instanceof DeploymentNotification ); }  } }

Deprecated. 9.0.0.0 Replaced by WebLogicDeploymentManager

Since | 7.0.0.0
Security roles | The following roles have read, write, and invoke permission for all non-encrypted attributes and operations in this MBean: Deployer
Fully Qualified Interface Name | If you use the `getMBeanInfo` operation in MBeanTypeServiceMBean, supply the following value as this MBean's fully qualified interface name: `weblogic.management.runtime.DeployerRuntimeMBean`
Factory Methods | No factory methods. Instances of this MBean are created automatically.
Access Points | You can access this MBean from the following MBean attributes:
DomainRuntimeMBean.DeployerRuntime |

## Related MBeans

This section describes attributes that provide access to other MBeans. For more information about the MBean hierarchy, refer to WebLogic Server MBean Data Model.

DeploymentTaskRuntimes |

### DeploymentTaskRuntimes

Return the deployment task runtime mbeans.

Factory Methods | No explicit creator method. The child shares the lifecycle of its parent.
Privileges | Read only
Type | DeploymentTaskRuntimeMBean[]
Relationship type: | Containment.

## Attributes

This section describes the following attributes:

Name Parent | Type

### Name

The name of this configuration. WebLogic Server uses an MBean to implement and persist the configuration.

Privileges | Read only
Type | java.lang.String

### Parent

Return the immediate parent for this MBean

Privileges | Read/Write
Type |

### Type

Returns the type of the MBean.

Privileges | Read only
Type | java.lang.String

## Operations

This section describes the following operations:

activate activate deactivate deactivate deploy deploy distribute distribute getAvailabilityStatusForApplication getAvailabilityStatusForComponent list query redeploy | redeploy remove remove start start stop stop undeploy undeploy unprepare unprepare

### activate

Activate a deployment. The deployment is extended to the relevant J2EE containers and subsystems. An ApplicationMBean is created if necessary and initialized prior to initiating the deployment for new deployments. If the application is already configured it is expected to be correctly defined. Activate covers new deployments, redeployments and refreshes.

If the source argument is a valid path to an EAR or module, the application files will be distributed as necessary, to the target servers. If the source argument is null, then the application must already be configured with a valid path.

The name argument must always be specified (not null). If there is already an application configured with this name, then the deployment will be based on that application. Otherwise, this is a new deployment and an ApplicationMBean will be created and fully configured based on the application descriptors found in the archive or directory named by the source argument. If this is a new deployment, the source argument cannot be null.

The stagingMode argument can be used to override the staging attribute of the targeted servers. If this argument is null, the application will be staged to each server if that server is configured to be staged. If stagingMode is "stage" or "nostage" then the application will be staged or not staged, respectively, to each server, regardless of the server's configuration. If the staging mode is "external_stage", the application files are not staged by the server, rather the user is expected to place them in the staging area.

The info argument is used to qualify the deployment. If null, the deployment will apply to the application's configured target servers. If info is not null, then it names a list of servers, each of which can be further qualified by module names. If a named target is not already configured for this application, it will be added as a target to the appropriate components.

The info argument can also specify a list of files and directories. This supports application refreshes. When a file list is defined in the info object, the deployment will cause those files to be redistributed to the target servers. The file paths must be relative to the application source. If the application is an archive, the entire archive is redistributed, otherwise only the named files are distributed. Note that if the application targets release 6.x servers, there is no guarantee that only the files listed are redeployed.

The id argument is used to specify the identifier for the resulting task. If null, the system will generate the id. If not null, then the value must be unique across all existing deployment tasks.

Deprecated. 8.1.0.0 Replaced by deploy or redeploy

Operation Name | `"activate"`
Parameters | `Object [] { source, name, stagingMode, info, id }` where: `source` is an object of type `java.lang.String` that specifies: is the path to the application. If null, the configured path is used. `name` is an object of type `java.lang.String` that specifies: is the configured name of the application. `stagingMode` is an object of type `java.lang.String` that specifies: the value that will be set on the ApplicationMBean for this deployment "stage", "external_stage","nostage", or null which implies use the servers stagingMode value. `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: describes the details of the deployment. `id` is an object of type `java.lang.String` that specifies: to use for tracking. Use null to allow system to generate.
Signature | `String [] { "java.lang.String", "java.lang.String", "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException` ManagementException if the request is rejected.

### activate

Same functionality as activate(String, String, String, DeploymentData, String) except that control is given back to caller without actually initiating the task, when startTask is false. The client must then invoke the DeploymentTaskRuntimeMBean#start method to complete the activation process. This is most useful when the client is interested in receiving notifications of the task's progress.

Deprecated. 8.1.0.0 Replaced by deploy or redeploy

Operation Name | `"activate"`
Parameters | `Object [] { source, name, stagingMode, info, id, startTask }` where: `source` is an object of type `java.lang.String` that specifies: source `name` is an object of type `java.lang.String` that specifies: name `stagingMode` is an object of type `java.lang.String` that specifies: stagingMode `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: info `id` is an object of type `java.lang.String` that specifies: id `startTask` is an object of type `java.lang.Boolean` that specifies: startTask
Signature | `String [] { "java.lang.String", "java.lang.String", "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String", "java.lang.Boolean" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException`

### deactivate

Same functionality as deactivate(String, DeploymentData, String) except that control is given back to caller without actually initiating the task, when startTask is false. The client must invoke the DeploymentTaskRuntimeMBean#start method to complete the deactivation process. This is most useful when the client is interested in receiving notifications of the task's progress.

Deprecated. 8.1.0.0 Replaced by stop

Operation Name | `"deactivate"`
Parameters | `Object [] { name, info, id, startTask }` where: `name` is an object of type `java.lang.String` that specifies: name `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: info `id` is an object of type `java.lang.String` that specifies: id `startTask` is an object of type `java.lang.Boolean` that specifies: startTask
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String", "java.lang.Boolean" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException`

### deactivate

Deactivate a deployment. This suspends the services offered by the deployment and removes it from the relevant J2EE containers. The deployment will remain in the staging area and prepared following deactivation.

The info parameter is used to define the specific targets the deactivation applies to. If any targets are specified in the info object, they will be removed from the application configuration. If info object does not specify any targets then the deactivation will apply to all targets configured for the application. In this scenario the configured targets are not removed from the configuration. Rather, the application is configured as undeployed.

Deprecated. 8.1.0.0 Replaced by stop

Operation Name | `"deactivate"`
Parameters | `Object [] { name, info, id }` where: `name` is an object of type `java.lang.String` that specifies: is the configured name of the application. `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: describes the details of the deployment. Null interpreted to deactivate the application on all servers, retaining targets. `id` is an object of type `java.lang.String` that specifies: to use for tracking. If null, a system generated id is used.
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException` ManagementException if the request is rejected.

### deploy

Same functionality as String) except that control is given back to caller without actually initiating the task, when startTask is false. The client must invoke the DeploymentTaskRuntimeMBean#start method to complete the process. This is most useful when the client is interested in receiving notifications of the task's progress.

Operation Name | `"deploy"`
Parameters | `Object [] { source, name, stagingMode, info, id, startTask }` where: `source` is an object of type `java.lang.String` that specifies: source `name` is an object of type `java.lang.String` that specifies: name `stagingMode` is an object of type `java.lang.String` that specifies: stagingMode `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: info `id` is an object of type `java.lang.String` that specifies: id `startTask` is an object of type `java.lang.Boolean` that specifies: startTask
Signature | `String [] { "java.lang.String", "java.lang.String", "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String", "java.lang.Boolean" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException`

### deploy

Deploys application on target(s). This results in the application being distributed, prepared and activated on specified target(s). The name argument must always be specified (not null). If there is already an application configured with this name, then the deployment will be based on that application. Otherwise, this is a new deployment and an ApplicationMBean will be created and fully configured based on the application descriptors found in the archive or directory named by the source argument. If this is a new deployment, the source argument cannot be null.

The stagingMode argument can be used to override the staging attribute of the targeted servers. If this argument is null, the application will be staged to each server if that server is configured to be staged. If stagingMode is "stage" or "nostage" then the application will be staged or not staged, respectively, to each server, regardless of the server's configuration. If the staging mode is "external_stage", the application files are not staged by the server, rather the user is expected to place them in the staging area.

Operation Name | `"deploy"`
Parameters | `Object [] { source, name, info, id, stagingMode }` where: `source` is an object of type `java.lang.String` that specifies: is the path to the application files `name` is an object of type `java.lang.String` that specifies: is the configured name of the application to distribute `info` is an object of type `java.lang.String` that specifies: contains target information. It names a list of target servers, each of which can be further qualified by module names. `id` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: to use for tracking. If null, a system generated id is used. `stagingMode` is an object of type `java.lang.String` that specifies: stagingMode
Signature | `String [] { "java.lang.String", "java.lang.String", "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException` ManagementException if the request is rejected.

### distribute

Distributes application files on targets. This results in the application being copied to the staging area of a target

Operation Name | `"distribute"`
Parameters | `Object [] { source, name, info, id }` where: `source` is an object of type `java.lang.String` that specifies: is the path to the application files `name` is an object of type `java.lang.String` that specifies: is the configured name of the application to distribute `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: contains target information. `id` is an object of type `java.lang.String` that specifies: to use for tracking. If null, a system generated id is used.
Signature | `String [] { "java.lang.String", "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException` ManagementException if the request is rejected.

### distribute

Same functionality as distribute(String source, String, DeploymentData, String) except that control is given back to caller without actually initiating the task, when startTask is false. The client must invoke the DeploymentTaskRuntimeMBean#start method to complete the process. This is most useful when the client is interested in receiving notifications of the task's progress.

Operation Name | `"distribute"`
Parameters | `Object [] { source, name, info, id, startTask }` where: `source` is an object of type `java.lang.String` that specifies: source `name` is an object of type `java.lang.String` that specifies: name `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: contains target information. `id` is an object of type `java.lang.String` that specifies: id `startTask` is an object of type `java.lang.Boolean` that specifies: startTask
Signature | `String [] { "java.lang.String", "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String", "java.lang.Boolean" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException`

### getAvailabilityStatusForApplication

Provides a map consisting of Component names of the application and map of availability status for each target of that component including any virtual host. The map corresponding to each component name consist of the component target name and weblogic.management.TargetAvailabilityStatus object corresponding to that component target.

Deprecated. 9.0.0.0 Replaced by AppRuntimeStateRuntimeMBean

Operation Name | `"getAvailabilityStatusForApplication"`
Parameters | `Object [] { }` where:
Signature | `String [] { "java.lang.String", "java.lang.Boolean" }`
Returns | `Map`
Exceptions | `javax.management.InstanceNotFoundException`

### getAvailabilityStatusForComponent

Provides a map of availability status for each target of that component including any virtual host. The map consist of the component target name and TargetAvailabilityStatus object corresponding to that component target.

Deprecated. 9.0.0.0 Replaced by AppRuntimeStateRuntimeMBean

Operation Name | `"getAvailabilityStatusForComponent"`
Parameters | `Object [] { }` where:
Signature | `String [] { "weblogic.management.configuration.ComponentMBean", "java.lang.Boolean" }`
Returns | `Map`
Exceptions | `javax.management.InstanceNotFoundException`

### list

Return array of all known deployment tasks

Operation Name | `"list"`
Parameters | `null`
Signature | `null`
Returns | `class`

### query

Locates a deployment task based on the deployment id.

Operation Name | `"query"`
Parameters | `Object [] { id }` where: `id` is an object of type `java.lang.String` that specifies: is the id to query
Signature | `String [] { "java.lang.String" }`
Returns | `DeploymentTaskRuntimeMBean`

### redeploy

Redeploys application on target(s). This results in redeploy of entire application on target(s). Redeploy results in redistribution of the application if staging mode is "stage". Redeploy can also be used for partial redeployment by specifying a list of files.

The info argument is used to qualify the deployment. If null, the deployment will apply to the application's configured target servers. If info is not null, then it names a list of servers, each of which can be further qualified by module names. If a named target is not already configured for this application, it will be added as a target to the appropriate components.

Operation Name | `"redeploy"`
Parameters | `Object [] { name, info, id }` where: `name` is an object of type `java.lang.String` that specifies: is the configured name of the application to distribute `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: contains target information. `id` is an object of type `java.lang.String` that specifies: to use for tracking. If null, a system generated id is used.
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException` ManagementException if the request is rejected.

### redeploy

Same functionality as redeploy(String, DeploymentData, String) except that control is given back to caller without actually initiating the task, when startTask is false. The client must invoke the DeploymentTaskRuntimeMBean#start method to complete the process. This is most useful when the client is interested in receiving notifications of the task's progress.

Operation Name | `"redeploy"`
Parameters | `Object [] { name, info, id, startTask }` where: `name` is an object of type `java.lang.String` that specifies: name `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: info `id` is an object of type `java.lang.String` that specifies: id `startTask` is an object of type `java.lang.Boolean` that specifies: startTask
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String", "java.lang.Boolean" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException`

### remove

Same functionality as remove(String, DeploymentData, String) except that control is given back to caller without actually initiating the task, when startTask is false. The client must invoke the DeploymentTaskRuntimeMBean#start method to complete the remove process. This is most useful when the client is interested in receiving notifications of the task's progress.

Deprecated. 8.1.0.0 Replaced by undeploy

Operation Name | `"remove"`
Parameters | `Object [] { name, info, id, startTask }` where: `name` is an object of type `java.lang.String` that specifies: name `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: info `id` is an object of type `java.lang.String` that specifies: id `startTask` is an object of type `java.lang.Boolean` that specifies: startTask
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String", "java.lang.Boolean" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException`

### remove

Removes a deployment. This results in the application being deactivated and deconfigured from the target servers. Staged files are removed from the target server if they were staged when first deployed. If no targets are specified in the info object, or if the info object is null, the application is removed entirely from the domain.

Deprecated. 8.1.0.0 Replaced by undeploy

Operation Name | `"remove"`
Parameters | `Object [] { name, info, id }` where: `name` is an object of type `java.lang.String` that specifies: is the configured name of the application to remove `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: describes the details of the deployment. `id` is an object of type `java.lang.String` that specifies: to use for tracking. If null, a system generated id is used.
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException` ManagementException if the request is rejected.

### start

Same functionality as start(String, DeploymentData, String) except that control is given back to caller without actually initiating the task, when startTask is false. The client must invoke the DeploymentTaskRuntimeMBean#start method to complete the process. This is most useful when the client is interested in receiving notifications of the task's progress.

Operation Name | `"start"`
Parameters | `Object [] { name, info, id, startTask }` where: `name` is an object of type `java.lang.String` that specifies: name `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: contains target information. `id` is an object of type `java.lang.String` that specifies: id `startTask` is an object of type `java.lang.Boolean` that specifies: startTask
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String", "java.lang.Boolean" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException`

### start

Starts an already distributed application on target(s). This results in the application being prepared and activated on target(s)

Operation Name | `"start"`
Parameters | `Object [] { name, info, id }` where: `name` is an object of type `java.lang.String` that specifies: is the configured name of the application to start `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: contains target information. `id` is an object of type `java.lang.String` that specifies: to use for tracking. If null, a system generated id is used.
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException` ManagementException if the request is rejected.

### stop

Stops application on target(s). This results in an application becoming unavailable for the clients

Operation Name | `"stop"`
Parameters | `Object [] { name, info, id }` where: `name` is an object of type `java.lang.String` that specifies: is the configured name of the application to start `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: contains target information. `id` is an object of type `java.lang.String` that specifies: to use for tracking. If null, a system generated id is used.
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException` ManagementException if the request is rejected.

### stop

Same functionality as stop(String, DeploymentData, String) except that control is given back to caller without actually initiating the task, when startTask is false. The client must invoke the DeploymentTaskRuntimeMBean#start method to complete the process. This is most useful when the client is interested in receiving notifications of the task's progress.

Operation Name | `"stop"`
Parameters | `Object [] { name, info, id, startTask }` where: `name` is an object of type `java.lang.String` that specifies: name `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: contains target information. `id` is an object of type `java.lang.String` that specifies: id `startTask` is an object of type `java.lang.Boolean` that specifies: startTask
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String", "java.lang.Boolean" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException`

### undeploy

undeploys application on target(s). This results in deactivating and removing an application on target(s). This is the exact reverse of deploy().

Operation Name | `"undeploy"`
Parameters | `Object [] { name, info, id }` where: `name` is an object of type `java.lang.String` that specifies: is the configured name of the application to distribute `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: contains target information. `id` is an object of type `java.lang.String` that specifies: to use for tracking. If null, a system generated id is used.
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException` ManagementException if the request is rejected.

### undeploy

Same functionality as undeploy(String, DeploymentData, String) except that control is given back to caller without actually initiating the task, when startTask is false. The client must invoke the DeploymentTaskRuntimeMBean#start method to complete the process. This is most useful when the client is interested in receiving notifications of the task's progress.

Operation Name | `"undeploy"`
Parameters | `Object [] { name, info, id, startTask }` where: `name` is an object of type `java.lang.String` that specifies: is the configured name of the application to distribute `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: describes the details of the deployment. `id` is an object of type `java.lang.String` that specifies: to use for tracking. If null, a system generated id is used. `startTask` is an object of type `java.lang.Boolean` that specifies: startTask
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String", "java.lang.Boolean" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException` ManagementException if the request is rejected.

### unprepare

Same functionality as unprepare(String, DeploymentData, String) except that control is given back to caller without actually initiating the task, when startTask is false. The client must invoke the DeploymentTaskRuntimeMBean#start method to complete the process. This is most useful when the client is interested in receiving notifications of the task's progress.

Deprecated. 8.1.0.0 Replaced by stop

Operation Name | `"unprepare"`
Parameters | `Object [] { name, info, id, startTask }` where: `name` is an object of type `java.lang.String` that specifies: name `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: info `id` is an object of type `java.lang.String` that specifies: id `startTask` is an object of type `java.lang.Boolean` that specifies: startTask
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String", "java.lang.Boolean" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException`

### unprepare

Deactivate and unload a deployment. This results in the application being deactivated and classes are unloaded from the target servers. Staged files are not removed from the target server if they were staged when first deployed. If no targets are specified in the info object, or if the info object is null, the application is removed entirely from the domain.

Deprecated. 8.1.0.0 Replaced by stop

Operation Name | `"unprepare"`
Parameters | `Object [] { name, info, id }` where: `name` is an object of type `java.lang.String` that specifies: is the configured name of the application to unprepare `info` is an object of type `weblogic.management.deploy.DeploymentData` that specifies: describes the details of the deployment. `id` is an object of type `java.lang.String` that specifies: to use for tracking. If null, a system generated id is used.
Signature | `String [] { "java.lang.String", "weblogic.management.deploy.DeploymentData", "java.lang.String" }`
Returns | `DeploymentTaskRuntimeMBean`
Exceptions | `weblogic.management.ManagementException` ManagementException if the request is rejected.