type=page
status=published
title=apply-http-lb-changes
next=attach.html
prev=add-resources.html
~~~~~~
apply-http-lb-changes
=====================

[[apply-http-lb-changes-1]][[GSRFM00002]][[apply-http-lb-changes]]

apply-http-lb-changes
---------------------

applies load balancer configuration changes to the load balancer

[[sthref23]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] apply-http-lb-changes [--help]
lb-name
----

[[sthref24]]

Description

Use the `apply``http``-lb-changes` subcommand to apply the changes in
the load balancer configuration to the physical load balancer. The load
balancer must already exist. To create a physical load balancer, use the
`create-http-lb` subcommand.

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

[[sthref25]]

Context

The Load Balancer distributes the workload among multiple Oracle
GlassFish Server instances , increasing the overall throughput of the
system. The Load Balancer also enables requests to failover from one
server instance to another. For HTTP session information to persist,
configure HTTP session persistence.


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

The Load Balancer Plugin is only available with Oracle GlassFish Server,
and is not available with GlassFish Server Open Source Edition. For
GlassFish Server Open Source Edition, it is possible to use the `mod_jk`
module to configure load balancing on the Apache HTTP server.

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


For more information about configuring load balancing with
\{product---name}, refer to the online help in the \{product---name}
Administration Console.

[[sthref26]]

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.

[[sthref27]]

Operands

lb-name::
  The name of the load balancer to which changes are applied. The load
  balancer must already exist. You can create it with the
  `create-http-lb` subcommand.

[[sthref28]]

Examples

[[GSRFM446]][[sthref29]]

Example 1   Using the apply`-http``-lb``-changes` subcommand

This example applies configuration changes to a load balancer named
`mylb`.

[source,oac_no_warn]
----
asadmin> apply-http-lb-changes mylb
Command apply-http-lb-changes executed successfully.
----

[[sthref30]]

Exit Status

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

[[sthref31]]

See Also

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

link:create-http-lb.html#create-http-lb-1[`create-http-lb`(1)],
link:create-http-lb-config.html#create-http-lb-config-1[`create-http-lb-config`(1)]


