8 Replies Latest reply on Dec 29, 2008 9:59 AM by Prabhudatt Rana

    Cluster messaging distribution

    Prabhudatt Rana Newbie

      I have gone through most of the past post on the same topic still there is one unanswered question.

      We have a clustered set up for JBM-1.4.0 SP3 with JAS-4.2.1 , two instance A n B are part of the cluster.
      We have a test client which inside a for loop does follwing.

      QueueConnectionFactory qcf = (QueueConnectionFactory) cntxt
       .lookup("/ClusteredConnectionFactory");
      
       Queue queue = (Queue) cntxt.lookup("queue/RequestQueue");
       QueueConnection qc = qcf.createQueueConnection();
       QueueSession qs = qc.createQueueSession(false,
       Session.AUTO_ACKNOWLEDGE);
       QueueSender queueSender = qs.createSender(queue);
      ObjectMessage msg = qs.createObjectMessage(batchId);
      queueSender.send(msg);
      


      Here we are using HA-JNDI for lookup.
      We are using default ClusterredConnectionFactory which has ,
      <attribute name="SupportsFailover">true</attribute>
      <attribute name="SupportsLoadBalancing">true</attribute>
      <attribute name="LoadBalancingFactory">org.jboss.jms.client.plugin.RoundRobinLoadBalancingFactory</attribute>
      

      For RequestQueue is set to Cluster TRUE in destination-service.xml.
      As per our expectation messages should be distributed in round robin fashion , We have around 80% results when it is not distributed in round robbin fashion.
      Is there any other attribute which controls distribution ?
      For some cases it goes to one server only.
      Our client runs on different server so A and B both are remote server for client.