Author |
Message
|
wangquanyong |
Posted: Fri Feb 15, 2002 2:59 am Post subject: |
|
|
Novice
Joined: 22 Jan 2002 Posts: 17 Location: China
|
I am programming a multithread-process on the MQClient(Win2K) and one of the threads gets messages from a queue(in a queue-manager) in the MQServer(HP-Unix).
I start the queue-manager with strmqm first and let it listen at the port 1415 by runmqlsr.(on MQServer)
Then I run my process on MQClient. It connects to the queue-manager and gets messages from the queue successfully.
It sounds good, but when I end my process, the problem comes out.
THAT IS: the listening process of the queue-manager on MQServer self-ended after my process ended. (no one did anything on the MQServer at that time)
Is there anybody knowing how to resolve this problem??
|
|
Back to top |
|
 |
mrlinux |
Posted: Fri Feb 15, 2002 8:51 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
Suggest setting up the listener to run from inetd
This will start the listener anytime a connection is requested.
It will also provide a method of getting rid of client connection that were not
terminated correctly. For each client attachment you will see a amqcrsta process
entry i.e. ps -ef | grep amqcrsta.
QMGR_NAME= the name of your Queue Manager
edit /etc/inetd.conf
QMGR_NAME stream tcp nowait mqm /opt/mqm/bin/amqcrsta amqcrsta -m QMGR_NAME
edit /etc/services file
QMGR_NAME prot#/tcp #QMGR_NAME = your qmgr name
After editing files execute the following from a prompt twice inetd -c [ENTER Key]
|
|
Back to top |
|
 |
wangquanyong |
Posted: Sun Feb 17, 2002 5:07 pm Post subject: |
|
|
Novice
Joined: 22 Jan 2002 Posts: 17 Location: China
|
Thank you very much.
Something new I have to learn. I will try it. |
|
Back to top |
|
 |
StefanSievert |
Posted: Tue Feb 19, 2002 1:44 pm Post subject: |
|
|
 Partisan
Joined: 28 Oct 2001 Posts: 333 Location: San Francisco
|
The listener process on any platform should not end if an application disconnects; gracefully or not.
What do the MQ error logs on the server report? Aby FDC-Files?
BTW, you have a choice of running either runmqlsr or inetd as the listener processes on Unix. They both do the same thing: They will start an instance of a message channel agent process/thread (amqcrsta for TCP/IP) on an inbound open request for the specified port.
As outlined before, on Unix inetd is the best choice because it is a system service and you usually don't have to worry that it is up and running.
The intercommunication guide is a very good source for related information. Check out the HP-UX section at http://www-4.ibm.com/software/ts/mqseries/library/manualsa/csqzae05/csqzae05tfrm.htm
Cheers,
Stefan
_________________
Stefan Sievert
IBM Certified * MQSeries
[ This Message was edited by: StefanSievert on 2002-02-19 13:45 ] |
|
Back to top |
|
 |
wangquanyong |
Posted: Tue Feb 19, 2002 6:36 pm Post subject: |
|
|
Novice
Joined: 22 Jan 2002 Posts: 17 Location: China
|
Thank you a lot,StefanSievert.
I will go to look at the site you suggested.
|
|
Back to top |
|
 |
|