File d'attente JMS avec de multiples consommateurs

J'ai un JBoss-6 serveur avec HornetQ et une seule file d'attente:

<queue name="my.queue">  
    <entry name="/queue/test"/>  
</queue>

Il y a différents consommateurs (sur des machines différentes) connecté à cette file d'attente, mais seulement un unique consommateur est actif à la fois. Si j'ai de l'arrêt de cette consommation, les messages sont immédiatement traitées par l'un des autres consommateurs.

Depuis mes messages ont certains temps de traitement, je veux de plusieurs consommateurs processus de leur unique messages simultanément.

Je me souviens d'un semblable dans les versions antérieures de JBoss où cette installation a fonctionné sans problèmes. Ici, dans Jboss-6 le système de messagerie qui fonctionne bien, à l'exception du problème décrit ci-dessus. Cette question est similaire à Plusieurs clients consommateurs possible dans hornetq?, mais le scénario n'est pas semblable à la mienne.

Mise à jour de 1: Si je fermer (CTRL+C) un consommateur, il y a un court délai (jusqu'à ce que le serveur l'a perdu à la consommation) jusqu'à la prochaine consommateur obtient le message.

Mise À Jour 2: Extrait De Code

VoidListener ml = new VoidListener();
QueueConnectionFactory qcf = (QueueConnectionFactory)
                             ctx.lookup("ConnectionFactory");
QueueConnection conn = qcf.createQueueConnection();
Queue queue = (Queue) ctx.lookup(queueName);
QueueSession session = conn.createQueueSession(false,
                                               QueueSession.AUTO_ACKNOWLEDGE);

QueueReceiver recv = session.createReceiver(queue,"");
recv.setMessageListener(ml);
conn.start();

Et la MessageListerner:

public class OlVoidListener implements MessageListener
{
  public void onMessage(Message msg)
  {
    counter++;
    logger.debug("Message ("+counter+") received");
    try {Thread.sleep(15*1000);} catch (InterruptedException e) {}
  }
}

OriginalL'auteur Thor | 2011-08-10