Author |
Message
|
gobi_nathan |
Posted: Thu Apr 24, 2003 11:18 pm Post subject: Channel keep running |
|
|
Acolyte
Joined: 08 Jan 2003 Posts: 69
|
Hi All ,
1) How to make my channel keeps running.We are using request/repsponse deign.If I don't want to stop the sender and receiver channel even after the timeout.How to make that happen.
2) Also suggest whether it is the good design to do like this.Or always go for the trigger to start the channel.My doubt in this is whether only the sender channel needs to use the trigger.What about the receiver channel?
-gobi |
|
Back to top |
|
 |
kevinf2349 |
Posted: Fri Apr 25, 2003 4:22 am Post subject: |
|
|
 Grand Master
Joined: 28 Feb 2003 Posts: 1311 Location: USA
|
To prevent a channel from disconnecting you need to specify a DISCINT of 0. i.e. DISCINT(0) |
|
Back to top |
|
 |
HrothgarV |
Posted: Fri Apr 25, 2003 6:30 am Post subject: Re: Channel keep running |
|
|
Novice
Joined: 07 Apr 2003 Posts: 17
|
[quote="gobi_nathan"]Hi All ,
1) How to make my channel keeps running.We are using request/repsponse deign.If I don't want to stop the sender and receiver channel even after the timeout.How to make that happen.
2) Also suggest whether it is the good design to do like this.Or always go for the trigger to start the channel.My doubt in this is whether only the sender channel needs to use the trigger.What about the receiver channel?
-gobi[/quote]
1) this has been answered by kevinf2349
2) imho. this is not a good design. you should let the channel 'sleep' (or be idle) when there is not activity by setting the disc time to >0 and let the trigger activate it. the receiving channel will automatically be activated by the sending channel. |
|
Back to top |
|
 |
gobi_nathan |
Posted: Sun Apr 27, 2003 9:57 pm Post subject: |
|
|
Acolyte
Joined: 08 Jan 2003 Posts: 69
|
Hi HrothgarV ,
Thanks for your response.
If i understand correctly my channel initiator should be running to start the chennal as soon as trigger happens..Is it not costlier job?
-Gobi |
|
Back to top |
|
 |
kevinf2349 |
Posted: Mon Apr 28, 2003 5:09 am Post subject: |
|
|
 Grand Master
Joined: 28 Feb 2003 Posts: 1311 Location: USA
|
Gobi
Yes the channel initiator needs to be running in order for the trigger to start the channel but it is fairly normal to have this running all the time anyway. AFAIK most platforms will bring up the channel initiator anyway. The exception being z/OS (aka MVS or OS/390 pick your poison). In that case you need to set up the CHIN address space yourself. You only need one instance of the channel initiator per Qmgr. As for the overhead. I have never measured it, but given that it is such an integral part of MQ I wouldn't worry about it. It isn't that great.
It is true that starting the channel consumes resource and adds delay into message 'end to end' time, but in my experience this isn't too long a delay. It really depends on what your application requirements are as to what to set the DISCINT too. In our case we set it to 10 minutes. There are a couple of things to bear in mind.
1) The disconnect interval will only drain the channel if no messages have been transferred during the defined interval, therefore if you have a really active message path the channel should never go inactive.
2) Inactive channels can easily be restarted (via. triggering) when a message arrives on it.
I guess you can see pretty clearly which method I subscribe to when it comes to DISCINT. I prefer triggering the channels to having the channels running all the time. |
|
Back to top |
|
 |
HrothgarV |
Posted: Mon Apr 28, 2003 7:12 am Post subject: |
|
|
Novice
Joined: 07 Apr 2003 Posts: 17
|
the 'typical' setup is to always have the channel initiator (like the listener) running as long as the qmgr is running (to have a real-time communication with the other party). consider these 2 (the initiator and listener) as part of the mq services that need to be up-and-running always as long as the qmgr is running. |
|
Back to top |
|
 |
tallison |
Posted: Tue Apr 29, 2003 3:14 am Post subject: |
|
|
 Apprentice
Joined: 18 Jun 2002 Posts: 39 Location: Round Rock, Texas
|
Good morning,
I have also found it better to trigger channels. If you think of your channels as an application the longer it runs, the more likely it is to fail. The channel init starts when you start your queue manager and just set up triggering attributes on the xmit queue.
Have a good one.
Tony Allison _________________ Cheers!!
Tony Allison
_________________
MQSeries Certified Specialist
MQSeries Certified Developer
MQSeries Certified Solutions Provider |
|
Back to top |
|
 |
|