I found some information regarding this. To achieve this first we need to cluster the JMS Server and then WAS or JMS Server will load balance the request. BUT BUT...if you are using IBM WMQ Server as you JMS Cluster then there is catch....which is that response will always going to be on local queue. Let me explain, let say you have WAS Cluster which have four servers,
1) Server1 and Server2 are for Application hosting [as web servers]
2) Server3 and Server4 are configured to access WMQ Cluster [as
J2EE servers].
3) WMQ Cluster is exposing two queues to the outside world (let say it has two queue managers internally but we do not need to go in depth of WMQ cluster at this stage).
4) Now application hosted on Server2 has generated a message which will initially be placed into its local queue and then load balanced to the clustered queue, where it will be consumed by MDB, MDB will process the request and put message back on response queue and theoretically your application should consume this message (response) but it will not until it will be put back on Server2
local response queue. The work around for this limitation is to always set 'replyTo' property while generating message from your application and check this property within your MDB before posting a response.
Hope this helps,
--
Sjunejo