Configuring Java CAPS JBI Components for GlassFish Clustering

Configuring the HTTP Binding Component for Clustering

The HTTP BC has no load balancing and failover mechanisms of its own, but Sun provides the HTTP Load Balancer to perform these functions. The Load Balancer is a web server plug-in that accepts HTTP and HTTPS requests and distributes them to application server instances in a cluster. This allows the HTTP BC to be scaled horizontally, running on multiple instances in a cluster. The Load Balancer gives you several advantages by managing the workload across cluster instances. If you use the HTTP Load Balancer, you need to configure the load balancer for each instance in the cluster.

You can read more information about clustering for the HTTP BC and using the HTTP Load Balancer at Clustering Support for the HTTP Binding Component in Using the HTTP Binding Component. For detailed information about the HTTP Load Balancer, see Chapter 5, Configuring HTTP Load Balancing, in Sun GlassFish Enterprise Server 2.1 High Availability Administration Guide.

Enabling the HTTP Binding Component on the Cluster

The HTTP BC is not dependent on any shared libraries, and is already added to the cluster. You only need to start the binding component to enable it.

ProcedureTo Enable the HTTP Binding Component on the Cluster

  1. In the left navigation panel of the GlassFish Admin Console, expand JBI, expand Components, and then select sun-http-binding.

  2. Click the Targets tab.

  3. Select the check box next to the cluster, and then click Start.

  4. To modify any HTTP BC properties on the cluster, perform any of the steps under Modifying Server Properties for Java CAPS JBI Components in a Cluster.

    For more information, see HTTP Binding Component Runtime Properties in Using the HTTP Binding Component.

Configuring the HTTP BC Port Numbers for Clustering

Each component instance in the cluster must have exclusive access to the resource, so a unique port number must be assigned to each instance. When you define service ports for the URL, use variables instead of actual port numbers in the soap:address element. This allows the client to direct HTTP requests to the default port, which is defined in the HTTP BC runtime properties. The value of the variable is resolved by the HTTP BC based on the configured default values used when the application was deployed.


Note –

If you reinstall the HTTP BC or drop it from the cluster and add it back in, you need to reconfigure the default ports for each component instance. The BC also needs to be configured for each server instance in the cluster.


ProcedureTo Configure the HTTP BC Port Numbers for Clustering

  1. In the WSDL files for the HTTP BC, change any hard-coded HTTP and HTTPS port numbers in the soap:address elements to variables.

    Use the following variables:

    • ${HttpDefaultPort} for the HTTP port

    • ${HttpsDefaultPosrt} for the HTTPS port

    For example, instead of using this URL:


    <soap:address location="http://localhost:18181/Synchronous"/>

    Use the following URL:


    <soap:address location="http://localhost:${HttpDefaultPort}/Synchronous"/>
  2. If it is not already enabled, enable the HTTP BC on the target cluster. Do the following to enable the BC:

    1. On the GlassFish Admin Console, expand JBI, expand Components, and then select sun-http-binding.

    2. Click the Targets tab.

    3. In the Targets list, select the check box next to the cluster and then click Start.

  3. To configure the BC, click the Configuration tab and then do the following:

    1. In the View/Update Instance field, select the first instance to configure.

    2. Verify the default values for the HTTP Port Number and the Default HTTPS Port Number properties.


      Note –

      These values are chosen automatically and must be different for each instance. If there is a port conflict, you can change the default port numbers but it is recommended that you use the default values.


    3. Click Save.

    4. Repeat the above steps for each instance in the cluster, verifying that the port numbers are unique for each instance.