2010-06-22 6 views
0

Voici ma situation.Parcourir un abonnement WebSphere MQ Durable

Je souhaite avoir une fonction de navigation pour les messages en attente sur un abonnement durable qui utilise des files d'attente gérées (donc je ne peux pas accéder directement à la file d'attente de l'abonnement).

Si c'était une file d'attente, je voudrais simplement utiliser quelque chose comme

remoteDestination = session.QueueManager.AccessQueue(
        remoteQueueName, 
        MQC.MQOO_BROWSE     // request browse mode 
        + MQC.MQOO_FAIL_IF_QUIESCING // but not if MQM stopping 
        + MQC.MQOO_INQUIRE    // request inquire permissions to read stats 
        ); 

Cependant, sur un sujet durablesub'd, il n'y a pas de drapeau de broutage disponibles

remoteDestination = session.QueueManager.AccessTopic(
        remoteTopicName, 
        remoteTopicObject,      
        MQC.MQOO_BROWSE     //can not use an MQOO option here!!! 
        + MQC.MQSO_CREATE     // create the topic if not already created 
        + MQC.MQSO_ANY_USERID   // allow any user to reattach to this subscription in the future 
                // otherwise, only the user who created the subscription can reattach 
        + MQC.MQSO_ALTER    // create (or reattach) to subscription requesting rights to make changes 
        + MQC.MQSO_FAIL_IF_QUIESCING // if the server is shutting down, fail 
        + MQC.MQSO_DURABLE    // the subscription is durable 
        + MQC.MQSO_MANAGED,    // the queue manager will create consup 
        "",        // alternate user ID 
        subscriptionName    // name of the subscription 
       ); 

Sooooo, je suis tout simplement Je me demande si c'est possible? Je devine qu'il doit y avoir une certaine façon pour une application de dire quoi et combien de messages sont sur le point de consommer à partir d'un abonnement durable avant de se ré-attacher !? Notez que le but de tout cela est de permettre à une application de service d'afficher à son utilisateur interactif tous les messages "en attente" dans son abonnement durable en cas de dépannage.

Merci d'avance à tous ceux qui peuvent aider!

Cheers, Chris

Répondre

2

Vous pouvez vous renseigner sur l'abonnement pour obtenir le nom de la file d'attente gérée associée, puis recherchez ou vous renseigner sur cette file d'attente en utilisant des méthodes normales. Vous avez raison de dire qu'il n'y a pas d'API de navigation pour un abonnement durable.

+0

Hey T.Rob. Je n'ai jamais remarqué votre réponse (c'était quelque temps après la question), mais c'est finalement l'approche que nous avons adoptée. Donc, c'est en fait la meilleure réponse à mon avis! – DigitalPigeon

+0

Merci pour la mise à jour et heureux que vous l'ayez fait fonctionner! –

Questions connexes