View previous topic :: View next topic |
Author |
Message |
cdhami Beginner

Joined: 03 Feb 2006 Posts: 6 Topics: 4
|
Posted: Fri Feb 03, 2006 1:01 pm Post subject: MQ error 2034 |
|
|
Hi,
I have some problems which i think u might be able to explain.
My application is triggered by a queue.(trigger type =f)
Application does a browse (with input-shared and browse) and then, on processing the details.. does MQget with browse under cursor option.
This works fine ...but suddenly once it gave a return code of 2034 while deleting the message under cursor.
I have no other application which gets messages from the same Q.
Error code suggests that multiple triggers for same application may have been generated.
how can i be sure of that statment.
also..my trigger interval has elapsed after first browse and mqget-msg-under-cursor is not yet done...at this point if another message arrives then application will be triggered again or not.. ?
waiting ..for the kind reply
thanks
cdhami(Experience Matters) |
|
Back to top |
|
 |
kolusu Site Admin

Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
|
Posted: Fri Feb 03, 2006 1:11 pm Post subject: |
|
|
cdhami,
Please do not post the same question in more than 1 forum. I have deleted your duplicate post.
Check this link for a detailed explanation of the reason code 2034
Code: |
2034 (X'07F2') MQRC_NO_MSG_UNDER_CURSOR
Explanation: An MQGET call was issued with either the MQGMO_MSG_
UNDER_CURSOR or the MQGMO_BROWSE_MSG_UNDER_CURSOR option. However,
the browse cursor is not positioned at a retrievable message. This is
caused by one of the following:
o The cursor is positioned logically before the first message (as it is
before the first MQGET call with a browse option has been successfully
performed).
o The message the browse cursor was positioned on has been
locked or removed from the queue
(probably by some other application) since the browse operation was
performed.
o The message the browse cursor was positioned on has expired.
Completion Code: MQCC_FAILED
Programmer Response: Check the application logic. This may be an
expected reason if the application design allows multiple servers to
compete for messages after browsing. Consider also using the MQGMO_LOCK
option with the preceding browse MQGET call.
|
Hope this helps...
Cheers
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
 |
cdhami Beginner

Joined: 03 Feb 2006 Posts: 6 Topics: 4
|
Posted: Fri Feb 03, 2006 7:36 pm Post subject: |
|
|
Hi Kolusu,
Thanks for the quick response.
Actually I have gone through these explanation.
I have question regarding the second bullet...
My queue is defined as trigger type first and the triggering application
first browses the messages in that queue.
MQOPEN is with input-shared + Browse option...
How can message be removed from the queue before my application actually does mqget for deleting msg-under-cursor.
Only reason i think is same transaction has got triggered again but i am not able to simulate the same in test environment.
Regarding the third bullet
"The message the browse cursor was positioned on has expired. "
how do i check that what is the expiry duration/interval for the message.
is this expiry time defined at queue level or message level.
thanks a lot
cdhami |
|
Back to top |
|
 |
|
|