|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MQ7, publish/subscribe and error handling... |
« View previous topic :: View next topic » |
Author |
Message
|
banjar1 |
Posted: Tue Mar 17, 2009 6:08 am Post subject: MQ7, publish/subscribe and error handling... |
|
|
Acolyte
Joined: 29 Nov 2006 Posts: 54 Location: FRA
|
Hi,
So, we've got MQ7 and I was checking for the error in handling undeliverable subscriptions. I found out MQ7 handles that completely different then MQ6 - or rather doesn't handle at all...
In a simple situation I have a single STREAM queue, where I publish messages. I have the TOPIC defined so the messages are persistant and they should be delivered "to all subscribers". I have also several local queues defined as subscribers. Everything works fine, so I make one queue unavailable (full or simply put-inhibited, whatever). I would expect P/S to try to put a message for the blocked queue to DLQ or, if DLQ is missing, to hold all messages and keep trying to deliver the first that encountered the problem - and at least report an error in trace file. That was the behaviour of (fixed) MQ6. But in MQ7 the messages simply keep flowing to available subscribers and the unavailable one gets nothing :/
Now, in the MQ6 docu there was a paragraph "Error handling by the broker". In MQ7 it is missing. Does it mean MQ7 simply doesn't care for errors???
Jaroslaw Banachowicz |
|
Back to top |
|
 |
vol |
Posted: Tue Mar 17, 2009 10:31 pm Post subject: |
|
|
Acolyte
Joined: 01 Feb 2009 Posts: 69
|
See the Usage notes for MQPUT in the v7 manual, where it describes the response received by MQPUT depending on whether the msg has been sent to all subscribers. |
|
Back to top |
|
 |
banjar1 |
Posted: Tue Mar 17, 2009 11:46 pm Post subject: |
|
|
Acolyte
Joined: 29 Nov 2006 Posts: 54 Location: FRA
|
Found it. But I'm not sure if I understand it correctly. This is the sitauation I'm talking about:
Quote: |
If none of the publications were delivered, the MQPUT will return with MQRC_PUBLICATION_FAILURE. This can happen in the following cases:
* A message is published to a TOPIC with PMSGDLV or NPMSGDLV (depending on the persistence of the message) set to ALL and any subscription (durable or not) has a queue which cannot receive the publication. |
Does it mean that MQPUT fails and message is not supposed to be delivered to any subscribers? |
|
Back to top |
|
 |
banjar1 |
Posted: Wed Mar 18, 2009 3:30 am Post subject: |
|
|
Acolyte
Joined: 29 Nov 2006 Posts: 54 Location: FRA
|
Hmmm.....
Quote: |
2502 (09C6) (RC2502): MQRC_PUBLICATION_FAILURE
Explanation
An MQPUT or MQPUT1 call was issued to publish a message on a topic. Delivery of the publication to one of the subscribers failed and due to the combination of the syncpoint option used and either:
* • The PMSGDLV attribute on the administrative TOPIC object if it was a persistent message.
* • The NPMSGDLV attribute on the administrative TOPIC object if it was a non-persistent message.
The publication has not been delivered to any of the subscribers.
Completion Code
MQCC_FAILED
Programmer response
Find the subscriber or subscribers who are having problems with their subscription queue and resolve the problem, or change the setting of the PMSGDLV or NPMSGDLV attributes on the TOPIC so that problems with one subscriber do not have an effect on other subscribers. Retry the MQPUT. |
I highlighted the most interesting part.
http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=/com.ibm.mq.csqsao.doc/fm20610_1.htm |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|