|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
API Exit for client call |
« View previous topic :: View next topic » |
Author |
Message
|
Fireworks |
Posted: Wed Mar 13, 2019 3:25 am Post subject: API Exit for client call |
|
|
Newbie
Joined: 13 Mar 2019 Posts: 3
|
Hello, I'm tring to catch some messages during MQGET and check some fields in MQMD headers. I'm using ibm amqsaxe0.c sample as start point. But after inspecting trace files I notice that API exit doesn't catch calls made from connected clients. Only MQXACT_INTERNAL calls. So, how can I catch MQXACT_EXTERNAL calls? |
|
Back to top |
|
 |
RogerLacroix |
Posted: Wed Mar 13, 2019 12:25 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
I have no idea what you are looking at but I double-checked and there is nothing in the amqsaxe0.c code that has that behavior.
You should not be messing around with exit coding if you are not both a seasoned C programmer and have in-depth knowledge of MQ.
Speaking of indepth knowledge of MQ, I'm going to guess that you are not familiar with MQ's asynchronous get. In MQ v7 or v7.1 (I forget), IBM rewrote the MCA (Message Channel Agent) to use asynchronous get (callback) rather than synchronous get (MQGET). So, the information is there, you are just looking in the wrong spot.
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
hughson |
Posted: Wed Mar 13, 2019 2:22 pm Post subject: Re: API Exit for client call |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 Location: Bay of Plenty, New Zealand
|
Fireworks wrote: |
Hello, I'm tring to catch some messages during MQGET and check some fields in MQMD headers. I'm using ibm amqsaxe0.c sample as start point. But after inspecting trace files I notice that API exit doesn't catch calls made from connected clients. Only MQXACT_INTERNAL calls. So, how can I catch MQXACT_EXTERNAL calls? |
Remember that your API exit is capturing what the SVRCONN channel does.
Remember that SVRCONN channels don't always do an MQGET when the client application does, they sometimes change it to an MQCB call. If you want to force it to be a like-for-like mapping from CLNTCONN->SVRCONN set SHARECNV to zero.
Cheers,
Morag _________________ Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software |
|
Back to top |
|
 |
Fireworks |
Posted: Thu Mar 14, 2019 12:15 am Post subject: |
|
|
Newbie
Joined: 13 Mar 2019 Posts: 3
|
RogerLacroix wrote: |
I have no idea what you are looking at but I double-checked and there is nothing in the amqsaxe0.c code that has that behavior. |
Hello, Roger. Thank you for async suggestion. As I said amqsaxe, is a start point only. I am trying to understand how all that staff works.
As I see amqsaxe collect traces from async callback too, but the is no logs in trace files after client calls. I use java jms client. So, maybe MQ manager by-pass client call in case of configuration?
hughson wrote: |
If you want to force it to be a like-for-like mapping from CLNTCONN->SVRCONN set SHARECNV to zero. |
Hello, Morag. As I have already written MQCB calls have not catchen in traces too. But, I applied your recommendations. Unfortunately nothing changed. What else should I tryed to ispect a problem? |
|
Back to top |
|
 |
tczielke |
Posted: Thu Mar 14, 2019 7:23 am Post subject: |
|
|
Guardian
Joined: 08 Jul 2010 Posts: 941 Location: Illinois, USA
|
Quote: |
Hello, I'm tring to catch some messages during MQGET and check some fields in MQMD headers. |
If that is your main requirement, I would recommend researching the Application Activity Trace. _________________ Working with MQ since 2010. |
|
Back to top |
|
 |
hughson |
Posted: Thu Mar 14, 2019 9:26 pm Post subject: Re: API Exit for client call |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 Location: Bay of Plenty, New Zealand
|
Fireworks wrote: |
I'm using ibm amqsaxe0.c sample as start point. But after inspecting trace files I notice that API exit doesn't catch calls made from connected clients. Only MQXACT_INTERNAL calls. So, how can I catch MQXACT_EXTERNAL calls? |
Are you using amqsaxe0.c sample as provided with IBM MQ, or does your comment "as a start point" mean you have changed it?
If you have already changed it, what is the output like if you use the provided (already built) version unchanged.
What did you do to configure the exit to the queue manager? Did you restart the queue manager after doing said configuration? Are you absolutely certain that the client application in question is connecting to THIS queue manager?
Cheers,
Morag _________________ Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software |
|
Back to top |
|
 |
Fireworks |
Posted: Thu Mar 14, 2019 10:42 pm Post subject: Re: API Exit for client call |
|
|
Newbie
Joined: 13 Mar 2019 Posts: 3
|
hughson wrote: |
Are you using amqsaxe0.c sample as provided with IBM MQ, or does your comment "as a start point" mean you have changed it?
If you have already changed it, what is the output like if you use the provided (already built) version unchanged.
What did you do to configure the exit to the queue manager? Did you restart the queue manager after doing said configuration? Are you absolutely certain that the client application in question is connecting to THIS queue manager?
|
Thank for helping me, Morag. With your help I managed to find out what was wrong.
All configurations were right. The problem was in my Linux misunderstanding. amqsaxe uses environment variable for logs path, so I set it not global, in case of that api exit works correct, but wrote only part of the traces.
Again, great thanks for your help. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|