Author |
Message
|
riyaz_tak |
Posted: Fri Jan 19, 2018 11:24 am Post subject: Reading from and writing into same queue |
|
|
Voyager
Joined: 05 Jan 2012 Posts: 92
|
Hi
I know it's a silly question but still I want to ask it.
I have IBM mq 8.0 installed on Solaris 10 box.
I have created 2 local queues .
Now I have 2 components where one will put the message and other will read the message and vice versa from the same queue manager.
So what would be the type of channels ?Will it be sdr and rcvr? Or something else?
Will I need 2 set of such channels?
Please correct me if I am wrong
Last edited by riyaz_tak on Fri Jan 19, 2018 11:36 am; edited 1 time in total |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jan 19, 2018 11:36 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
If the components are on the same machine as the queue manager, you don't need channels, but might want to use them. These would be SVRCONN channels and (possibly) CLNTCONN channels. There's a wealth of documentation on client connections and a lot of discussion on this forum.
You don't need 2 channels to achieve what you want, but you might want to use separate channels.
If it was me, I'd use channels and I'd have one per component. But it's not me, it's you. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
riyaz_tak |
Posted: Fri Jan 19, 2018 11:51 am Post subject: |
|
|
Voyager
Joined: 05 Jan 2012 Posts: 92
|
Thanks a lot. english is not my first language so sorry for that.
So what I understood that I will use svrconn to put and CLNTCONN channel to receive the message from the same queue manager and i will use 2 set of them for each component.
is it correct? |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jan 19, 2018 12:00 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
riyaz_tak wrote: |
is it correct? |
No.
SVRCONN and CLNTCONN are the 2 ends of the client channel in the same way a SNDR & a RCVR are the 2 ends of a queue manager to queue manager channel. Unlike a queue manager connection, a client channel is bi-directional so you can get & put through a single client channel.
So if you decided to have a client connection for each component, the 2 client connections would be identical in configuration.
Note that, as laid out in the documentation, it's possible to have MQ auto-define a CLNTCONN so don't jump straight down the rabbit hole of manually defining them. You will need to manually define the SVRCONN(s). _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
riyaz_tak |
Posted: Fri Jan 19, 2018 12:03 pm Post subject: |
|
|
Voyager
Joined: 05 Jan 2012 Posts: 92
|
|
Back to top |
|
 |
PaulClarke |
Posted: Fri Jan 19, 2018 1:37 pm Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
Just to be clear, since you seem to be fairly new to MQ, CLNTCONN and SVRCONN channels are only needed if the application (the thing actually doing the MQPUTs and MQGETs) is on a different physical machine than the Queue Manager.
If everything is running on the same Solaris 10 box then there is no need for any channels at all.
Cheers,
Paul. _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
bruce2359 |
Posted: Fri Jan 19, 2018 4:34 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
To further explain...
If the MQGETting and MQPUTting applications are executing in the same o/s image (box, LPAR, etc.) as the qmgr, then the apps can MQCONNect in server-bindings mode - no channels needed.
If the MQGETting and MQPUTting applications are executing in a different o/s image (box, LPAR) than the qmgr, OR these are Java/JMS apps, then the qmgr will need a SVRCONN channel to accept the inbound connections from client-bindings apps. _________________ 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 |
|
 |
tczielke |
Posted: Sat Jan 20, 2018 4:28 am Post subject: |
|
|
Guardian
Joined: 08 Jul 2010 Posts: 941 Location: Illinois, USA
|
PaulClarke wrote: |
Just to be clear, since you seem to be fairly new to MQ, CLNTCONN and SVRCONN channels are only needed if the application (the thing actually doing the MQPUTs and MQGETs) is on a different physical machine than the Queue Manager.
If everything is running on the same Solaris 10 box then there is no need for any channels at all.
Cheers,
Paul. |
I would give this one caveat. IBM rejected my RFE for the ability for an administrator to be able to set a limit on how many connections a locally bound application can make into a queue manager. Therefore, it is possible for a poorly written or malicious locally bound application to take down a queue manager (for example exhaust the mqm nproc setting on Linux) by just creating excessive connections into the queue manager. If you want protections against this "attack vector", you are forced to only allow client connections for all MQ applications, even for MQ applications that run on the same server as the queue manager. _________________ Working with MQ since 2010. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Jan 22, 2018 5:54 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
PaulClarke wrote: |
Just to be clear, since you seem to be fairly new to MQ, CLNTCONN and SVRCONN channels are only needed if the application (the thing actually doing the MQPUTs and MQGETs) is on a different physical machine than the Queue Manager.
If everything is running on the same Solaris 10 box then there is no need for any channels at all. |
But you may choose to use them for the reasons given by my worthy associate and myself. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|