ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ API Support » Queue depth.

Post new topic  Reply to topic
 Queue depth. « View previous topic :: View next topic » 
Author Message
Reeti
PostPosted: Wed Oct 16, 2002 1:05 am    Post subject: Queue depth. Reply with quote

Apprentice

Joined: 11 Jul 2002
Posts: 40

Hi:

How to trap queue depth full event? Is there any way of triggering an event whenever queue depth is reached.

Regards
Reeti
Back to top
View user's profile Send private message
mgrabinski
PostPosted: Wed Oct 16, 2002 1:33 am    Post subject: Reply with quote

Master

Joined: 16 Oct 2001
Posts: 246
Location: Katowice, Poland

The queue full event mesasge goes to SYSTEM.ADMIN.PERFM.EVENT queue. You set triggering on this queue (but it would require an application that handles it).

There are plenty of ISV's tools that monitor event queues (I've seen only Candle Commmand Center but I'm sure that BMC or Primeur have also such tools)
_________________
Marcin Grabinski <><
Back to top
View user's profile Send private message
Reeti
PostPosted: Wed Oct 16, 2002 1:39 am    Post subject: Reply with quote

Apprentice

Joined: 11 Jul 2002
Posts: 40

Hi:

Thanks for the reply.
I'm aware of the SYSTEM.ADMIN.PERFM.EVENT queue, but is there any wayout which gives me an instant notification of the queue depth full event. Suppose, while I'm trying to put any message in a queue and the queue is full, then how do I notify my application program that the queue is full, without being accessing the system event queues.

Regards
Reeti
Back to top
View user's profile Send private message
vmcgloin
PostPosted: Wed Oct 16, 2002 2:29 am    Post subject: Reply with quote

Knight

Joined: 04 Apr 2002
Posts: 560
Location: Scotland

Your application should get a return code MQRC_Q_FULL (2053) when the MQPUT fails.

Hope that helps,
Vicky
Back to top
View user's profile Send private message
Reeti
PostPosted: Wed Oct 16, 2002 3:36 am    Post subject: Reply with quote

Apprentice

Joined: 11 Jul 2002
Posts: 40

Hi:

Can I send the message to the Dead Letter queue if the message fails to get delivered in the queue because of the queue depth full event? I'm trying the same but it's neither going to the dead letter queue nor can I trace the message.

Pls. help.

Regards
Reeti
Back to top
View user's profile Send private message
mgrabinski
PostPosted: Wed Oct 16, 2002 5:29 am    Post subject: Reply with quote

Master

Joined: 16 Oct 2001
Posts: 246
Location: Katowice, Poland

No and yes

When your app puts a message to a full queue, you will get a return code. You can then choose what to do with your message - try later, discard or put to another queue (this may be the DLQ, but remember to provide the MQDLH header).

On the other hand, if successfuly put a message to a queue, and the message goes to another queue (that always happens when communicating with other queue manager) which happens to be full, the message will go to the DLQ automaticaly.

HTH
_________________
Marcin Grabinski <><
Back to top
View user's profile Send private message
bduncan
PostPosted: Wed Oct 16, 2002 3:19 pm    Post subject: Reply with quote

Padawan

Joined: 11 Apr 2001
Posts: 1554
Location: Silicon Valley

Yes, it's important to realize the difference. In the situation where you are putting to a local queue which is full, your put command will fail. But if you are putting a message to a remote queue definition which points to a queue somewhere else, because of the asynchronous nature of MQSeries, you MQPUT will succeed. Then, your local queue manager will attempt to route the message to the destination queue based on the properties of the remote queue definition. At this point, the local queue manager doesn't know the destination queue is full. So the message flows over the channel, and the destination queue manager sees that the queue this message is destined for is full. Since the message isn't currently in ANY queue, the queue manager needs to do something with it, so in this case, it automatically puts it on the dead letter queue. BTW, if the dead letter queue on the remote queue manager fills up as well, then the remote queue manager stops the channel, in which case, now the message start to pile up on the local queue manager's transmission queue. If that fills up, then your MQPUTs will fail
_________________
Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator
Back to top
View user's profile Send private message Visit poster's website AIM Address
billybong
PostPosted: Thu Oct 06, 2005 4:26 am    Post subject: Reply with quote

Disciple

Joined: 22 Jul 2005
Posts: 150
Location: Stockholm, Sweden

bduncan wrote:
Yes, it's important to realize the difference. In the situation where you are putting to a local queue which is full, your put command will fail. But if you are putting a message to a remote queue definition which points to a queue somewhere else, because of the asynchronous nature of MQSeries, you MQPUT will succeed. Then, your local queue manager will attempt to route the message to the destination queue based on the properties of the remote queue definition. At this point, the local queue manager doesn't know the destination queue is full. So the message flows over the channel, and the destination queue manager sees that the queue this message is destined for is full. Since the message isn't currently in ANY queue, the queue manager needs to do something with it, so in this case, it automatically puts it on the dead letter queue. BTW, if the dead letter queue on the remote queue manager fills up as well, then the remote queue manager stops the channel, in which case, now the message start to pile up on the local queue manager's transmission queue. If that fills up, then your MQPUTs will fail


That must have been one of the best explanations I've seen yet. Seriously.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ API Support » Queue depth.
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.