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 » User Exits » API-exit on Remote and Transmit Queues

Post new topic  Reply to topic
 API-exit on Remote and Transmit Queues « View previous topic :: View next topic » 
Author Message
yashgt
PostPosted: Thu Nov 26, 2015 1:37 pm    Post subject: API-exit on Remote and Transmit Queues Reply with quote

Apprentice

Joined: 11 Nov 2014
Posts: 38

Hi,

I have created an API exit library and defined the Get After and Put After functions. I have a Remote-Local MQ setup. The API exit only logs a message to a file whether the function is called.

I have observed that this works only on the Local Queue but not the Remote Queue and the Transmit Queue. Is there any way I can get it to work on these queues?

Thanks,
Yash
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Nov 26, 2015 5:17 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20696
Location: LI,NY

You're not specific enough in your descriptions.
a) What does not work? Be very specific here. Like user exit does not get invoked when... xyz and (tvf or zk) etc...
b) How would you like it to work?
c) What is your assumption why it did not work?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
yashgt
PostPosted: Fri Nov 27, 2015 7:09 am    Post subject: Reply with quote

Apprentice

Joined: 11 Nov 2014
Posts: 38

Observation:
The Get After and Put After functions get called when the API exit library is applied on the Queue Manager that hosts the local queues.
If I Put a message on the remote queue, it lands into the local queue. At this time, I see messages being logged from the Put After function.
When a component consumes from the local queue, I see Get After function being called.

However,
When a message is put on the remote queue, the Put After is not called. I do not see the log messages being printed from the Put After, even though the API exit library is configured for the queue manager.

Expectation:
The Get AFter and Put After functions should work for both remote and local queue. The Put After should get invoked when a message a PUT on the remote queue.

I am not sure why it does not work as expected.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Fri Nov 27, 2015 8:25 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

yashgt wrote:
Observation:
The Get After and Put After functions get called when the API exit library is applied on the Queue Manager that hosts the local queues.

So, the same exit code is installed on both the originating qmgr AND the destination qmgr? Which qmgr hosts which local queues? I'm a bit confused.
yashgt wrote:
If I Put a message on the remote queue, it lands into the local queue.

For precision and clarity, a message put to a QRemote definition on the originating qmgr, the msg lands on the QLocal transmission queue on the originating qmgr.

A QRemote definition is not a queue. The only queue type that can hold a message is a QLocal. When a QRemote definition is MQOPENed, the resolved object name is the QLocal transmission queue.

yashgt wrote:
At this time, I see messages being logged from the Put After function.
When a component consumes from the local queue, I see Get After function being called.

However,
When a message is put on the remote queue, the Put After is not called. I do not see the log messages being printed from the Put After, even though the API exit library is configured for the queue manager.

Expectation:
The Get AFter and Put After functions should work for both remote and local queue. The Put After should get invoked when a message a PUT on the remote queue.

I am not sure why it does not work as expected.

Please re-post this, identifying on which qmgr (originating or destination) you observe each behavior.
_________________
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.


Last edited by bruce2359 on Fri Nov 27, 2015 10:51 am; edited 1 time in total
Back to top
View user's profile Send private message
yashgt
PostPosted: Fri Nov 27, 2015 10:51 am    Post subject: Reply with quote

Apprentice

Joined: 11 Nov 2014
Posts: 38

The setup is like:
App1-> PUT -> QM1(RQ1) -> QM2(LQ1) -> GET ->App2

On both Queue Managers, I have the Same API Exit library applied.

Observation:
The Get After and Put After functions get called when the API exit library is applied on the Queue Manager that hosts the local queues. Let us call it QM1.

If I Put a message on the remote queue(RQ1), it lands into the local queue(LQ1) on the other QUeue Manager(QM2). At this time, I see messages being logged from the Put After function on QM2.

When a component consumes from the local queue(LQ1), I see Get After function being called on QM2.

However,
When a message is put on the remote queue(RQ1), the Put After is not called on QM1. I do not see the log messages being printed from the Put After, even though the API exit library is configured for the queue manager(QM1).

Expectation:
The API Exit functions should work for both remote and local queue. The Put After should get invoked when a message is PUT on the remote queue(RQ1).

I am not sure why it does not work as expected.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Fri Nov 27, 2015 11:04 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

yashgt wrote:
The setup is like:
App1-> PUT -> QM1(RQ1) -> QM2(LQ1) -> GET ->App2

Post the definition of RQ1. It is a QRemote, yes?

yashgt wrote:
On both Queue Managers, I have the Same API Exit library applied.

And, you have configured the mq.ini file on BOTH qmgrs to enable the exit?

yashgt wrote:
Observation:
The Get After and Put After functions get called when the API exit library is applied on the Queue Manager that hosts the local queues. Let us call it QM1.

If I Put a message on the remote queue(RQ1), it lands into the local queue(LQ1) on the other QUeue Manager(QM2). At this time, I see messages being logged from the Put After function on QM2.

When a component consumes from the local queue(LQ1), I see Get After function being called on QM2.

However,
When a message is put on the remote queue(RQ1), the Put After is not called on QM1. I do not see the log messages being printed from the Put After, even though the API exit library is configured for the queue manager(QM1).

Expectation:
The API Exit functions should work for both remote and local queue. The Put After should get invoked when a message is PUT on the remote queue(RQ1).

I am not sure why it does not work as expected.

So, are you saying that
- the message successfully leaves QM1, and arrives successfully on QM2,
- but you see no output from the exit on QM1?

If you see output from the exit on QM2, but no output on QM1, I'd suspect that QM1 is not configured correctly. Compare qm.ini files from BOTH QM1 and QM2. Post them, if you like.
_________________
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
View user's profile Send private message
fjb_saper
PostPosted: Fri Nov 27, 2015 3:40 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20696
Location: LI,NY

Did you configure the exit on QM1 to trigger for the transmission queue?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » User Exits » API-exit on Remote and Transmit Queues
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.