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 » Message written to the queue when MQ Put(...) returns false

Post new topic  Reply to topic
 Message written to the queue when MQ Put(...) returns false « View previous topic :: View next topic » 
Author Message
cabinda
PostPosted: Wed Aug 31, 2011 1:27 am    Post subject: Message written to the queue when MQ Put(...) returns false Reply with quote

Newbie

Joined: 31 Oct 2010
Posts: 1

Hi,

I'm actually working int he following environment:
. client: software developped in C++ using IBM Websphere MQ v5.2 Client API on Windows XP
. server: IBM Webpshere MQ v7.0 on windows 2003 Server

My issue is:
My software is installed in an environment with a lot a network issues and the connection to the MQ Server is not stable.

Sometime when i call the Put(..) function it returns false with the following message
<<30/08/2011 05:34:07 p.m. CTSOPE Error Ninguno 10115 No disponible SPN5123 Cannot write to queue QL.EVRU.REG01.
Reason code: 2009>>
but it seems to me that the message has been writen queue. This is very bad because in my software i have a mechanism for re sending the message when the put(..) function returns false.

Can someone help me about this issue ?

Regards.
Back to top
View user's profile Send private message
mvic
PostPosted: Wed Aug 31, 2011 3:29 am    Post subject: Re: Message written to the queue when MQ Put(...) returns fa Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

If you are doing MQPUTs outside syncpoint, then a return code of 2009 (MQRC_CONNECTION_BROKEN) from MQPUT does not tell you whether the message was successfully placed on the queue.

This is because the "connection broken" can happen just before, or just after, the MQPUT request arrives at the queue manager.

A better answer is to do your MQPUTs inside syncpoint, then call MQCMIT. But unfortunately you can still get 2009 (MQRC_CONNECTION_BROKEN) from your MQCMIT, and then the situation is the same: your app does not know the outcome.

A couple of things you have to ask / answer when analysing this kind of situation is: (a) why does your app need to know the outcome, and (b) what would your app do with the knowledge that the previous message failed?

There are some old discussions about this topic in the forum - do some searches, and post again with any further questions after reviewing those discussions.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Aug 31, 2011 8:04 am    Post subject: Re: Message written to the queue when MQ Put(...) returns fa Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

cabinda wrote:
Hi,

I'm actually working int he following environment:
. client: software developped in C++ using IBM Websphere MQ v5.2 Client API on Windows XP
. server: IBM Webpshere MQ v7.0 on windows 2003 Server


Please, please update your WMQ Client ASAP! V5.2 is a ! get to V7!
http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg24019253&loc=en_US&cs=utf-8&lang=en

_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ API Support » Message written to the queue when MQ Put(...) returns false
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.