Author |
Message
|
pitm3n |
Posted: Wed Jul 05, 2006 2:51 am Post subject: MirrorQ problem |
|
|
Novice
Joined: 12 Aug 2005 Posts: 10 Location: Gdansk,PL
|
Hello,
I'm trying to use mirrorq API exit to copy some messages for accounting purposes. It works fine for messages registered by hand or using amqsputc. But, when I'm trying to inject some using third party adapter (TIBCO MQ Adapter in this case), messages are not copied over. I've tried to trace MQ activity, but cannot find any MQOPEN calls. System is AIX 5.3, MQ 5.3.12. Could someone help with this matter ?
Regards,
Peter |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jul 05, 2006 2:31 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I bet TIBCO adapter is using a client connection.
There is a known issue with some versions of mirrorq copying messages from clients.
There was supposed to be an updated version that had a fix for this, that would be made available on the download site. But that may not have happened. See if you can solve this problem by redownloading the mirrorq package.
Alas, mirrorq is only sample code anyway, and so is not supported in any way by anyone. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
RogerLacroix |
Posted: Wed Jul 05, 2006 9:07 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
jefflowrey wrote: |
There is a known issue with some versions of mirrorq copying messages from clients. |
I think the problem is when the application connects with a blank UserID or a mqm UserId. (In both cases it will be mqm if the MCAUser field is blank.)
The original Mirrorq code called a MQ function to exclude MQ API calls from mqm. (or something like that).
Regards,
Roger Lacroix _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
pitm3n |
Posted: Thu Jul 06, 2006 2:23 am Post subject: |
|
|
Novice
Joined: 12 Aug 2005 Posts: 10 Location: Gdansk,PL
|
Thanks for your replies.
MQ Adapter from TIBCO can use either client or server mode. We
are using server. I'm using latest version of mirrorq, with update that
fixes if the same queue is opened multiple times without matching close
(as some adapters do). But still the same problem - messages from
MQ adapter are not duplicated. TIBCO connects MQ with userID "tibco",
and this user has all permissions granted.
Regards,
Peter |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Jul 06, 2006 2:28 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Did you restart the queue manager after configuring mirrorq? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
pitm3n |
Posted: Thu Jul 06, 2006 2:34 am Post subject: |
|
|
Novice
Joined: 12 Aug 2005 Posts: 10 Location: Gdansk,PL
|
Yes, I did. Exit works fine for messages registered by for example
amqsput or amsqputc. But not for data registered by adapter, those are
passing through MQ without being copied to accounting queue.
Regards,
Peter |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Jul 06, 2006 3:08 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Last time I looked, there were some environment variables that the code recognized that would cause it to output debug traces and otherwise alter behavior.
Yeah. It looks like you want to set MIRRORQ_LOG_PATH to a fully qualified file path, and then MIRRORQ_LOG_OPTIONS to the value 6. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
pitm3n |
Posted: Mon Jul 10, 2006 12:46 am Post subject: |
|
|
Novice
Joined: 12 Aug 2005 Posts: 10 Location: Gdansk,PL
|
Thanks for help. I've ran trace and got the following output:
10:28:25 File: mirrorq.c LINE: 975 EntryPoint ENTRY ====>
10:28:25 File: mirrorq.c LINE: 977 Entry CompCode = 0
10:28:25 File: mirrorq.c LINE: 979 Program Name: admqs
10:28:25 File: mirrorq.c LINE: 981 Program Type = 1
10:28:25 File: mirrorq.c LINE: 1125 EntryPoint EXIT <====
10:28:25 File: mirrorq.c LINE: 318 ConnAfter ENTRY ====>
10:28:25 File: mirrorq.c LINE: 331 Entry CompCode = 0
10:28:25 File: mirrorq.c LINE: 333 Caller Type = 1
10:28:25 File: mirrorq.c LINE: 335 Hconn: 546177832
10:28:25 File: mirrorq.c LINE: 1429 BuildQueueList ENTRY ====>
10:28:25 File: mirrorq.c LINE: 1436 Namelist containing mirrorq information: mirrorq
10:28:25 File: mirrorq.c LINE: 1459 MQOPEN failed with reason code = 2035
10:28:25 File: mirrorq.c LINE: 1465 MQOPEN successful.
10:28:25 File: mirrorq.c LINE: 1492 MQINQ failed with reason code = 2035
10:28:25 File: mirrorq.c LINE: 1499 MQINQ successful.
10:28:25 File: mirrorq.c LINE: 1596 MQCLOSE failed with reason code = 2019
10:28:25 File: mirrorq.c LINE: 1610 BuildQueueList EXIT <====
10:28:25 File: mirrorq.c LINE: 363 BuildQueueList failed with rc = -8
10:28:25 File: mirrorq.c LINE: 368 ConnAfter EXIT <====
10:28:25 File: mirrorq.c LINE: 477 OpenAfter ENTRY ====>
10:28:25 File: mirrorq.c LINE: 481 Entry CompCode = 0
10:28:25 File: mirrorq.c LINE: 497 OpenAfter EXIT <====
10:28:25 File: mirrorq.c LINE: 556 PutAfter ENTRY ====>
10:28:25 File: mirrorq.c LINE: 560 Entry CompCode = 0
This 2035 is very strange. Authorization for user for QM and queues is +all. Anyone got an idea what I missed here ?
Regards,
Peter |
|
Back to top |
|
 |
pitm3n |
Posted: Mon Jul 10, 2006 3:55 am Post subject: |
|
|
Novice
Joined: 12 Aug 2005 Posts: 10 Location: Gdansk,PL
|
Problem is fixed now. It was lack of permission for adapter user to
namelist object in queue manager. I've add those rights and it works
perfectly now.
Thanks for your support,
Peter |
|
Back to top |
|
 |
|