|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Can't restart Queue Manager because application is still run |
« View previous topic :: View next topic » |
Author |
Message
|
roliv |
Posted: Sat Oct 20, 2001 12:15 am Post subject: |
|
|
Novice
Joined: 26 Aug 2001 Posts: 11
|
Hello,
I have written an application that constantly gets messages from an MQQueue and after processing the messages it sends the replies on another MQQueue. Well, the problem is that if while my application is running, the Queue Manager goes down (e.g., it is stopped by the MQSeries administrator) then I can't restart that Queue Manager. I get Error Code 24 – MQSeries Queue Manager can not start because processes that were previously connected are still running. So, in order to restart the Queue Manager I have to shutdown my application.
This kind of sucks since I wanted to restore the connection to the Queue Manager without having to shut down my app. In other words, if the Queue Manager goes down, I wanted my code to retry until a new connection is established with the Queue Manager (i.e., once the Queue Manager is up again).
Does any one know if it is a requirement to shut down all apps that were previously connected to the Queue Manager in order to restarted?
|
|
Back to top |
|
 |
kolban |
Posted: Sat Oct 20, 2001 12:35 pm Post subject: |
|
|
 Grand Master
Joined: 22 May 2001 Posts: 1072 Location: Fort Worth, TX, USA
|
It sounds like the queue manager may be being shutdown with a preemptive flag which basically kills the processes. A well behaved application should be coded with FAIL_IF_QUIECSING. Can you explain how the queue manager is being shut down? What shutdown options are being supplied? |
|
Back to top |
|
 |
RogerLacroix |
Posted: Sat Oct 20, 2001 6:50 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
What you need to do is handle the MQRC_Q_MGR_QUIESCING (2161) or MQRC_CONNECTION_QUIESCING reason codes.
If you receive the warning then immediately close all 'open queues' and disconnect (without ending your program) from the queue manager. If you want to be lazy, then just issue the disconnect as soon as you receive the MQRC_Q_MGR_QUIESCING reason code (not recommended).
The next question I have is: 'What will your application do if the queue manager is down'?
Other than cleanup is your application going to sleep for 'x' minutes?
What you could do is sleep for 5 minutes then try to connect to the queue manager again. If unsuccessful then sleep again. But how long should your application be in this loop (I would say no more than 1 hour)?
later
Roger...
|
|
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
|
|
|
|