Author |
Message
|
akumargolf2000 |
Posted: Tue May 11, 2010 1:48 am Post subject: MQ client channel |
|
|
Newbie
Joined: 11 May 2010 Posts: 4
|
Hi,
I have a couple of questions
1) Is it correct to say that MQ client communication is only possible via MQI channel defined as SVRCONN channel on the remote MQ server ?
i.e other channel types such as Sender/Receiver are not suppported and these are only for MQ server-server based communication.
2) I have a situation where
MQ client machine (MQClient) needs to communicate with MQ server machine (MQServerA) which then needs to communicate with another MQ server machine (MQServerB)
Between MQServerA and MQServerB we have Sender/Receiver channels
Between MQClient and MQServerA we have client (CLNTCONN) and server (SVRCONN) channels
Is there a way to configure MQServerA to automatically read messages from MQClient and forward to MQServerB
and likewise receive from MQServerB and forward back to MQClient ? without any application level component ?
Which topic covers this kind of relay between servers.
Thanks. |
|
Back to top |
|
 |
zpat |
Posted: Tue May 11, 2010 2:32 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
MQ clients are inherently applications.
MQ clients do not store messages and you can't fetch messages from clients.
A client application has to MQPUT the message to send, and a client application has to MQGET the message to receive. |
|
Back to top |
|
 |
mvic |
Posted: Tue May 11, 2010 2:34 am Post subject: Re: MQ client channel |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
akumargolf2000 wrote: |
1) Is it correct to say that MQ client communication is only possible via MQI channel defined as SVRCONN channel on the remote MQ server ? |
Yes, "MQI channel", "client channel", and SVRCONN mean roughly the same thing.
Quote: |
Is there a way to configure MQServerA to automatically read messages from MQClient and forward to MQServerB
and likewise receive from MQServerB and forward back to MQClient ? without any application level component ?
Which topic covers this kind of relay between servers. |
You could place your destination queue in a cluster. Read the Queue Manager Clusters manual to find out the possibilities. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue May 11, 2010 2:34 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Read the Intercommunications topic. |
|
Back to top |
|
 |
akumargolf2000 |
Posted: Tue May 11, 2010 2:50 am Post subject: |
|
|
Newbie
Joined: 11 May 2010 Posts: 4
|
Thanks all.
Regarding the second part of my question, my problem is this.
MQServerB only defines sender/receiver channel types.
I do not have control over this.
So, if MQServerB only has sender/receiver channels can MQClient connect and use these directly with MQServerB ?
If not and if sender/receiver channels are only for server-server communication, then I need MQServerA to intermediate this communication from MQClient.
So something like MQClient-->(using client/server channels)-->MQServerA-->(using sender/receiver channels)-->MQServerB
Is that correct ?
Thanks. |
|
Back to top |
|
 |
zpat |
Posted: Tue May 11, 2010 3:37 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
No, you can't use other types of channel with clients.
It's normal to connect MQ clients to a convenient queue manager and route messages to their final destination using remote queues. |
|
Back to top |
|
 |
fatherjack |
Posted: Tue May 11, 2010 3:42 am Post subject: |
|
|
 Knight
Joined: 14 Apr 2010 Posts: 522 Location: Craggy Island
|
zpat wrote: |
No, you can't use other types of channel with clients.
It's normal to connect MQ clients to a convenient queue manager and route messages to their final destination using remote queues. |
Eh? Isn't that what's suggested by
akumargolf2000 wrote: |
So something like MQClient-->(using client/server channels)-->MQServerA-->(using sender/receiver channels)-->MQServerB |
_________________ Never let the facts get in the way of a good theory. |
|
Back to top |
|
 |
akumargolf2000 |
Posted: Tue May 11, 2010 3:53 am Post subject: |
|
|
Newbie
Joined: 11 May 2010 Posts: 4
|
Thanks again
Regarding this line
"It's normal to connect MQ clients to a convenient queue manager and route messages to their final destination using remote queues."
That's what I am after.
How is this routing done ?
1) Can it all be done through MQ server configuration on MQServerA such that messages received from MQClient are forwarded automatically to MQServerB and vice versa (if so can you provide a brief example or topic that discusses this kind of configuration)
OR
2) Do you need application level software that reads local queue on MQServerA and then writes to remote queue pertaining to MQServerB ?
Thanks |
|
Back to top |
|
 |
Vitor |
Posted: Tue May 11, 2010 3:54 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
akumargolf2000 wrote: |
So, if MQServerB only has sender/receiver channels can MQClient connect and use these directly with MQServerB ? |
akumargolf2000 wrote: |
If not and if sender/receiver channels are only for server-server communication, then I need MQServerA to intermediate this communication from MQClient.
So something like MQClient-->(using client/server channels)-->MQServerA-->(using sender/receiver channels)-->MQServerB
Is that correct ? |
 _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
zpat |
Posted: Tue May 11, 2010 4:00 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Yes, it's normal to route messages between queue managers and the client application is unaware of this.
Remote queue definitions are easy to use, you just reference the remote queue manager and the remote queue name in them.
The client application opens the remote queue definition and MQPUTs to it, the messages will initially be on the local xmit queue and then will be sent to the other queue manager (assuming your xmit queues, channels and channel triggering is set up properly).
All MQGETs must come from a local queue, but messages can arrive there by the reverse process. (BTW opening a remote queue for input does not make sense and causes a MQ error).
Last edited by zpat on Tue May 11, 2010 7:12 am; edited 1 time in total |
|
Back to top |
|
 |
akumargolf2000 |
Posted: Tue May 11, 2010 4:09 am Post subject: |
|
|
Newbie
Joined: 11 May 2010 Posts: 4
|
Ok, I understand from the client side.
I am more interested in what needs to be done or set-up on MQServerA and how, so as to forward automatically to MQServer B.
So, sounds like the following kind of configuration needs to be made on MQServerA, if I understood correctly.
"(assuming your xmit queues, channels and channel triggering is set up properly)"
I will check these topics then.
Thanks |
|
Back to top |
|
 |
Vitor |
Posted: Tue May 11, 2010 4:13 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
akumargolf2000 wrote: |
I will check these topics then.
|
You've been pointed to the Intercommuncation manual, which describes (among other things) your kind of scenario.
 _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|