|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
How can I have multiple receiver channels on the same Qmgr?? |
« View previous topic :: View next topic » |
Author |
Message
|
Keka |
Posted: Sat Feb 08, 2003 8:35 pm Post subject: How can I have multiple receiver channels on the same Qmgr?? |
|
|
Voyager
Joined: 28 Dec 2002 Posts: 96
|
Hi All,
I have some basic questions.. Please help me understand.
1.When we have a queueManager listening at one port say 1414, how can we have more than one receiver channel for the same port. As for my understanding a channel is like a socket listening on a port making a unique combination of IP and port for socket connection. So if I have only one port, I should have only one receiver channel and a multiple number of sender channels connect it, which is not what I see usually.. PLease explain.
2.If the receiver channel is started automatically with the sender channel start, when do you ever use the start channel command to start the receiver channel??
3. When the listener is started using inetd, how do you stop the listener??
I know these are very basic questions, but I need to understand it right..
please help
thanks
keka _________________ Keka |
|
Back to top |
|
 |
yaakovd |
Posted: Sun Feb 09, 2003 12:04 am Post subject: |
|
|
Partisan
Joined: 20 Jan 2003 Posts: 319 Location: Israel
|
There is no one-to-one between listener and receiver channel.
Look some information from MQ Intercommunication guide:
A channel initiator acts as a trigger monitor for sender channels, because a transmission queue may be defined as a triggered queue. When a message arrives on a transmission queue that satisfies the triggering criteria for that queue, a message is sent to the initiation queue, triggering the channel initiator to start the appropriate sender channel. You can also start server channels in this way if you specified the connection name of the partner in the channel definition. This means
that channels can be started automatically, based upon messages arriving on the appropriate transmission queue.
You need a channel listener (here your single port 1414 or other) program to start receiving (responder) MCAs.
Responder MCAs are started in response to a startup request from the caller MCA; the channel listener detects incoming network requests and starts the associated channel.
1. You need one receiver channel for each sender
2. Receiver channel starts automatically only if channel listener running
3. You can use endmqlsr command to stop the listener (but make sure if you really need it ) _________________ Best regards.
Yaakov
SWG, IBM Commerce, Israel |
|
Back to top |
|
 |
Keka |
Posted: Sun Feb 09, 2003 12:26 pm Post subject: |
|
|
Voyager
Joined: 28 Dec 2002 Posts: 96
|
Thanks for the detailed explanation.
I still am not clear about the START CHANNEL, usage in the case of receever channel. you said the receiver channel automatically starts only iof the listener is running, so if the listener is not runnig, Will the START CHANNEL command first start the listener and then start the corresponding MCA to receive the request??
As for the endmqlsr, Will this end the listener eventhough it is not started by using runmqlsr??As for the IBM manuals, They associate endmqlsr with runmqlsr..
Please clarify..
Thanks in advance for the answer..
keka _________________ Keka |
|
Back to top |
|
 |
nimconsult |
Posted: Sun Feb 09, 2003 11:06 pm Post subject: |
|
|
 Master
Joined: 22 May 2002 Posts: 268 Location: NIMCONSULT - Belgium
|
1. This is a standard TCP/IP concept. You have one listener on a given port (say 1414). The listener can be the generic listener inetd, in which case for every connection inetd will start a process called amqcrsta, running the channel receiver. The listener can also be the custom runmqlsr, in which case for every connection runmqlst will start a thread running the channel receiver.
2. You do not normally start a receiver channel. You start the sender channel, and the listener of the target queue manager starts the receiver channel as described in point 1.
3. I think there is some confusion here. The statement "When the listener is started using inetd" is not correct. inetd IS the listener. You do not stop the inetd listener. You can stop the channel using the "stop channel()" command
Nicolas _________________ Nicolas Maréchal
Senior Architect - Partner
NIMCONSULT Software Architecture Services (Belgium)
http://www.nimconsult.be |
|
Back to top |
|
 |
leongor |
Posted: Mon Feb 10, 2003 12:10 am Post subject: |
|
|
 Master
Joined: 13 May 2002 Posts: 264 Location: Israel
|
You need to start channel receiver if it was stopped.
When some channel in status stopped it cannot start automatically, but only with manual start. _________________ Regards.
Leonid.
IBM Certified MQSeries Specialist. |
|
Back to top |
|
 |
sac |
Posted: Mon Feb 10, 2003 11:38 pm Post subject: |
|
|
Apprentice
Joined: 10 Feb 2003 Posts: 44
|
hi,
I am new to this forum and also to new this techology, but wll try to answer this to best of my abilities..hope it helps.
1) As mentioned by "yaakovd"...there is no one-to-one realtion between the channel and port. A listener is there that runs like a daemon/thread and keeps listening to the port 1414, and the moment a message comes at the port to which listenet is listening, appropriate tiggerring occurs for the channel intiator to accept the message that has arrived.
2) You need not start/stop the listener. The listener starts automatically once the services of MQ Series are up. But u can still stop and start the listener automatically. |
|
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
|
|
|
|