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 Installation/Configuration Support » Transactional settings in MQ (e.g., timeout values) - where?

Post new topic  Reply to topic
 Transactional settings in MQ (e.g., timeout values) - where? « View previous topic :: View next topic » 
Author Message
roliv
PostPosted: Tue Jul 13, 2004 10:52 am    Post subject: Transactional settings in MQ (e.g., timeout values) - where? Reply with quote

Novice

Joined: 26 Aug 2001
Posts: 11

Hi,

Where in WebSphere MQ can we specify transactional settings such as a
timeout value for MQ transactions? For instance, let's say that an
application gets a message from a queue and does some processing after
getting the message. The application is supposed to commit the read only
after it has finished processing the message. If a long time occurs between
the time the message was received and the time the application finished
processing the message, we think a time-out error could occur. We need to
know where this value (and any other transaction settings) is specified in
MQ.
Back to top
View user's profile Send private message
kirani
PostPosted: Tue Jul 13, 2004 1:14 pm    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

All the settings you mentioned above should be implemented in the application program. Is this a Request-Reply scenario?

Using Syncpoint option you can coordinate your transactions (Get/Put actions). Also, you can specify WaitInterval in GMO (Get message option) for the timeout in client application.
_________________
Kiran


IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries

Back to top
View user's profile Send private message Visit poster's website
kevinf2349
PostPosted: Tue Jul 13, 2004 1:17 pm    Post subject: Reply with quote

Grand Master

Joined: 28 Feb 2003
Posts: 1311
Location: USA

It is up to the application itself to decide what timeouts (if any) you code into the application. The only MQ API call that will timeout on is a MQGET and even then you can instruct it not to. You can put an expiry interval on a message when you put it to a queue, but again it is up to the application to do so, and it is up to the application to decide what actions to take should this happen.

As a delivery mechanism MQSeries is designed to be asynchronous. Messages will stay on queues (under the right circumstances) indefinately.
Back to top
View user's profile Send private message
roliv
PostPosted: Tue Jul 13, 2004 8:09 pm    Post subject: Reply with quote

Novice

Joined: 26 Aug 2001
Posts: 11

Thanks for the replies. The complete scenario is the following. The application gets a message from a queue, the message is processed, and
then another message is generated as a result of processing the incoming message. This outgoing message is placed on a different queue.

Both, the MQ Get and the MQ Put are part of the same transaction (we are using the JMS API, so this means the same session object is used to get the incoming message and send the outgoing message). The problem is that if processing the incoming message takes a long time (aprox. 10 mins), then we get the following MQ exception when the application tries to place the outgoing message on the outgoing queue:

JMS error: sending MQ message failed.
javax.jms.JMSException: MQJMS2007: failed to send message to MQ queue
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:540)
at com.ibm.mq.jms.MQQueueSender.sendInternal(MQQueueSender.java:824)
at com.ibm.mq.jms.MQQueueSender.send(MQQueueSender.java:239)
at com.ibm.mq.jms.MQQueueSender.send(MQQueueSender.java:272)

The pattern we have found is that we only get this error if a long time has passed since the message was read from the incoming queue and the
time when the MQ Put occurs. That is why we thought this problem could be related to a transaction time out.

We haven't been able to reproduce this problem in our test environment; it only happens in production. In the test environment, we even used messages that would require about 30 mins to be processed and everything worked fine. If any one has any ideas/thoughts about what could be the cause for this problem, please share them with us. Thanks.
Back to top
View user's profile Send private message
gunter
PostPosted: Tue Jul 13, 2004 11:28 pm    Post subject: Reply with quote

Partisan

Joined: 21 Jan 2004
Posts: 307
Location: Germany, Frankfurt

Try to get the linked exception, it will tell you the reason.

I don't believe, that it has to do with time, maybe the message ist to big or something else.
_________________
Gunter Jeschawitz
IBM Certified System Administrator - Websphere MQ, 5.3
Back to top
View user's profile Send private message
OmPat
PostPosted: Wed Jul 28, 2004 11:46 am    Post subject: Reply with quote

Apprentice

Joined: 20 Jul 2004
Posts: 33
Location: Charlotte

Best bet is to get the linked exception or error code using getlinkedexception method or getjmserrorcode method which are part of jmsexception object. so if you could provide us with errors along with the reason code we could help you out.


Thanks,
~Om
_________________
IBM Certified WMQ V5.3 System Administrator
IBM Certified WMQ V5.3 Solutions Designer
Brainbench Certified MQ Expert
IBM Certified WMQI V2.1 Solutions Expert
IBM Certified WMQI V2.1 Specialist
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ Installation/Configuration Support » Transactional settings in MQ (e.g., timeout values) - where?
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.