Author |
Message
|
Sneha |
Posted: Tue Feb 26, 2008 10:46 pm Post subject: where to find the dead letter queue header on solaris box? |
|
|
Apprentice
Joined: 17 Feb 2008 Posts: 29
|
I just created a remote queue with the information of other queue manager name and local queue name. channels has been configured and running smooth.
But when I put the message in the remote queue it is going to the dead letter queue of the second queue manager. i checked the local queue PUT AND GET which is ENABLED only.
I like to see the reason in dead letter queue using amqsbcg. but i am unable to find the reason at any field. in fact not able to see the dead letter queue header. help me out... |
|
Back to top |
|
 |
Gaya3 |
Posted: Tue Feb 26, 2008 11:06 pm Post subject: |
|
|
 Jedi
Joined: 12 Sep 2006 Posts: 2493 Location: Boston, US
|
Hi Sneha,
You can see the contents of DLQ by using the following executable
amqsdlq
you can get this from /opt/mqm/samp/bin
Your issue could be related to some queue configuration
Check the error logs to find more information
Regards
Gayathri _________________ Regards
Gayathri
-----------------------------------------------
Do Something Before you Die |
|
Back to top |
|
 |
Vitor |
Posted: Wed Feb 27, 2008 1:11 am Post subject: Re: where to find the dead letter queue header on solaris bo |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Sneha wrote: |
I like to see the reason in dead letter queue using amqsbcg. but i am unable to find the reason at any field. in fact not able to see the dead letter queue header. help me out... |
RFHUtil(c) is another tool which can display the DLH. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
SAFraser |
Posted: Fri Feb 29, 2008 8:33 pm Post subject: |
|
|
 Shaman
Joined: 22 Oct 2003 Posts: 742 Location: Austin, Texas, USA
|
On Solaris, the reason code can be found using amqsbcg by converting the sixth hex field in the first line of the message data to decimal.
For example, if the sixth hex field is "0805", that converts in decimal to "2053", destination queue is full. Or "0825" converts to "2085", unknown object name.
I've used this on Tandem, too, but cannot recall which field the value is in. If you look at the first row of hex data, you can pretty much figure out which ones to try till one yields a reason code.
This can be done on Windows, too, but it is much trickier (and I don't know why it works, perhaps one of our brave grandmasters will posit a theory). The digits in the fifth hex field in the message data must first be read in this order: 4th, 1st, 2nd. So a hex field that is "0508" would be read as "805". A hex field that reads "2508" would be read as "825". Then the number must be converted to decimal, and will yield the reason code for the dead letter message.
It is much easier to simply look at the queue manager log where the reason code is typically stated. |
|
Back to top |
|
 |
Vitor |
Posted: Sat Mar 01, 2008 2:47 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
SAFraser wrote: |
This can be done on Windows, too, but it is much trickier (and I don't know why it works, perhaps one of our brave grandmasters will posit a theory). |
Who knows why anything on Windows does what it does?
SAFraser wrote: |
It is much easier to simply look at the queue manager log where the reason code is typically stated. |
It's even easier to use a DLH aware tool to extract the code for you!  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jefflowrey |
Posted: Sat Mar 01, 2008 3:50 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Vitor wrote: |
SAFraser wrote: |
This can be done on Windows, too, but it is much trickier (and I don't know why it works, perhaps one of our brave grandmasters will posit a theory). |
Who knows why anything on Windows does what it does? |
In this case, it's the difference between Encodings, more importantly between "endianness". I.e. Big-endian/little-endian.
I always get them confused as to which one is which, so better to look it up on google than trust my bad memory.
But it's why on Unix the first number is the first number and on Windows the first number is the second number. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
SAFraser |
Posted: Sat Mar 01, 2008 7:21 am Post subject: |
|
|
 Shaman
Joined: 22 Oct 2003 Posts: 742 Location: Austin, Texas, USA
|
Vitor wrote: |
It's even easier to use a DLH aware tool to extract the code for you!  |
Sometimes, in the heat of battle, the only tool available is an SSH session. Or a green screen.
Gee, Vitor, I thought you of all people would appreciate a bit of trivia that provided a non-GUI solution.... |
|
Back to top |
|
 |
bruce2359 |
Posted: Sat Mar 01, 2008 8:38 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9470 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
Who knows why anything on Windows does what it does? |
Intel cpu hardware stores numbers "little-endian" (most-significant digit at the right end of the number; vs. "big-endian," what we are comfy with, where most-significant digit is at the left end.
So, on Intel hardware, the number 123 sent in a message, without numeric transformation, would be interpreted as 321 on non-Intel.
http://www.madsci.org/posts/archives/1996-12/843185920.Cs.r.html
Take a look at the MQ Application Programmers Reference for the Dead Letter Header structure to find out exactly where the Reason Code of a dead-letter message is. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
Vitor |
Posted: Sun Mar 02, 2008 12:12 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
SAFraser wrote: |
Gee, Vitor, I thought you of all people would appreciate a bit of trivia that provided a non-GUI solution.... |
I'm trying to be less predictable. Next I'm going to advocate the use of .NET on a Windows platform....
 _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|