2010-11-18 3 views
2

J'ai un gestionnaire de files d'attente WebSphere MQ avec une file d'attente de transmission définie et j'utilise l'API pour obtenir des informations sur la file d'attente. Lorsque j'essaie de demander la file d'attente (en utilisant l'interface .NET, mais je crois que ce n'est pas important ici), je reçois toujours une exception avec la raison 2042: MQRC_OBJECT_IN_USE - selon the documentation, cela signifie qu'il y a un verrou exclusif dans la file d'attente. Par une enquête plus approfondie, je peux voir que le processus qui détient le verrou est runmqchl - partie de MQ Server.Verrou exclusif de file d'attente de transmission IBM MQ

  • Le verrou exclusif est-il typique pour les files d'attente de transmission? Ou cela signifie-t-il que quelque chose ne va pas dans la file d'attente ou dans la transmission?
  • Encore mieux, peut-être y at-il un moyen de faire des requêtes (en lecture seule) à cette file d'attente verrouillée (c'est-à-dire pour obtenir sa profondeur ou parcourir les messages) en utilisant API?

Répondre

2

Le canal SDR ou SVR ouvre toujours la file d'attente de transmission pour une utilisation exclusive. Si le client .Net reçoit une erreur à cause de cela, alors il demande des droits d'entrée ainsi que se renseigner. Vous pouvez le vérifier en utilisant WMQ Explorer pour vous renseigner sur la file d'attente et vous verrez qu'il n'a aucun problème à obtenir les attributs de file d'attente, les profondeurs, etc. Donc, ouvrez pour demander mais pas pour naviguer et vous devriez aller.

Questions connexes