I have the following setup.
Single glassfish server running a cluster with two instances instance1 and instance2 and a non-clustered server instance
GlassfishESB is installed and configured for clustering.
I have the BPEL persistence database setup with engineIds set correctly for instance1 and instance2
The clustered instances run a composite application that interacts with a client web application which runs on the non-clustered server instance using webservices.
There are two scenarios
(i) The clustered composite application calls a webservice on the client and receives a response
-- This works correctly.
(ii) The client calls a webservice on the clustered application and receives a response
-- This is where I am stuck
I know that each cluster instance has its own http ports.
I want a single endpoint for the webservice.
I trying to use the glassfish loadbalancer to achieve this.
The webservice that I wish to call on the clustered application has the following soap address :
soap:address location="
http://localhost:9080/CivicaOutboundCompletionService/ESBCompletionBindingPort
Only webservices on this port should go to the cluster. That is requests to the client application running on the non-clustered server instance should be be unaffected (scenario i).
When I go to the Glassfish web Admin Console and select new HTTP Load Balancer
I am asked to enter Device Host and Device Admin Port.
Should I be using localhost and 9080 for Device Host and Admin Port?
Should I use the settings for the glassfish server ie localhost and 4848 or something else?
Do I need to do anything else to configure the load balancer to work with webservices on my composite application such as setting a context?
Any suggesttions on how this should be done are very welcome as I am at a loss as what to do.
Many thanks
Magnus Smith