type=page
status=published
title=disable-http-lb-application
next=disable-http-lb-server.html
prev=disable.html
~~~~~~
disable-http-lb-application
===========================

[[disable-http-lb-application-1]][[GSRFM00118]][[disable-http-lb-application]]

disable-http-lb-application
---------------------------

disables an application managed by a load balancer

[[sthref1047]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] disable-http-lb-application [--help] 
[--timeout 30]
--name application_name target
----

[[sthref1048]]

Description

The disable `disable-http-lb-application` subcommand disables an
application for load balancing. The disabled application goes offline
for load balancing with minimal impact to users. Disabling an
application gives a finer granularity of control than disabling a server
instance and is most useful when a cluster is hosting multiple
independent applications.

Once the application is disabled and the changes have been applied to
the load balancer, new requests for the application are not forwarded to
the target. Existing sessions continue to access the application until
the timeout is reached. This process is known as quiescing.

If an application is deployed across multiple clusters, use this
subcommand to disable it in one cluster while leaving it enabled in
others.

If an application is deployed to a single server instance, use this
subcommand to disable it in that instance while leaving the instance
itself enabled.


[NOTE]
=======================================================================

This subcommand is only applicable to Oracle GlassFish Server. This
subcommand is not applicable to GlassFish Server Open Source Edition.

=======================================================================


[[sthref1049]]

Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--timeout`::
  The timeout (in minutes) to wait before disabling the specified
  application. This time allows for the graceful shutdown (quiescing) of
  the specified application. The default value is 30 minutes. The
  minimum value is 1 minute.
`--name`::
  The name of the application to be disabled.

[[sthref1050]]

Operands

target::
  This operand specifies the server instance or cluster on which to
  disable the application. Valid values are: +
  * cluster_name- The name of a target cluster.
  * instance_name- The name of a target server instance.

[[sthref1051]]

Examples

[[GSRFM592]][[sthref1052]]

Example 1   Disabling an Application for Load Balancing

This example, disables an application for load balancing

[source,oac_no_warn]
----
asadmin> disable-http-lb-application --name webapps-simple mycluster

Command disable-http-lb-application executed successfully.
----

[[sthref1053]]

Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref1054]]

See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:enable-http-lb-application.html#enable-http-lb-application-1[`enable-http-lb-application`(1)]


