Author |
Message
|
rgross999 |
Posted: Mon Jan 19, 2004 7:31 am Post subject: How to close a queue? More details about prob posted Friday |
|
|
Newbie
Joined: 15 Jan 2004 Posts: 8
|
Last Friday I posted the queston, "How to close a queue when opened for exclusive access?"
I still have not solved the problem. Here are more details:
Last week I ran a Java program which opened the queue with option MQOO_INPUT_EXCLUSIVE.
The program ended abnormally but the queue still acts like it is locked.
How do I unlock it?
In the WebSphere MQ Explorer the status of the queue is as follows:
Application: :\j2sdk1.4.2_01\bin\java.exe
Application Type: User
Browse: Yes
Inquire: Yes
Input: Exclusive
Output: No
Set: No
Open Handles: 1
The Windows Task Manager program shows that no Java program is running.
I have rebooted the machine a couple times.
When I attempt to clear messages using MQ Explorer the following message is displayed:
"Object is open. An attempt was made to delete or change an object that was in use. Wait until the object is not in use and retry. (AMQ4070)"
I cannot even delete the queue, because when I try the above message also appears.
When I run a Java program that does a "get" on the queue an MQ Exception is thrown with reason 2042, which is MQRC_OBJECT_IN_USE.
I can display the queue and put messages to it.
But I cannot do any gets or delete the queue.
Does anyone know how to fix this?
Thanks to those who responded Friday and thanks in advance for whatever help you could provide today. |
|
Back to top |
|
 |
JasonE |
Posted: Mon Jan 19, 2004 7:48 am Post subject: |
|
|
Grand Master
Joined: 03 Nov 2003 Posts: 1220 Location: Hursley
|
It sounds like you have a process (Service?) which is opening the queue, so when your app gets to that bit of code it fails. I would blame your app normally esp as the problem survives a reboot, but send me a trace (Details via PM) and I'll see what is going on. |
|
Back to top |
|
 |
vennela |
Posted: Mon Jan 19, 2004 8:15 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
rgross999
Maybe that's an MDB. Maybe your App Server is set to start automatically on reboot and your MDB is started and I guess that is what is keeping the queue open. |
|
Back to top |
|
 |
Keka |
Posted: Mon Jan 19, 2004 8:22 am Post subject: |
|
|
Voyager
Joined: 28 Dec 2002 Posts: 96
|
You might want to try to put and get disable on that queue and then see if you can delete the queue, if that is your intention.
I did not see your original message, so I don't know which version of MQ you are running. If you are running 5.3, you can run qstatus command on it to check which process ID has the queue Open..
My $.02  _________________ Keka |
|
Back to top |
|
 |
rgross999 |
Posted: Mon Jan 19, 2004 9:22 am Post subject: Fixed. Thanks for all your help. |
|
|
Newbie
Joined: 15 Jan 2004 Posts: 8
|
Everybody, thanks for helping. I seem to have fixed it.
The Java program that blew up and seemed to lock the queue was one that looped through the messages and sent an email about each one.
It was activated by a trigger.
I noticed this morning that when I shut down the queue manager I received one email message.
So I stopped and restarted the queue manager several times, and in each cycle one email was sent.
When all emails had been sent the queue was unlocked.
The server was stopped and rebooted several times and according to the task manager no Java programs were running.
So something, somewhere, kept a record of what was going on.
I have no idea exactly what happened.
Again, thanks for your assistance. |
|
Back to top |
|
 |
bower5932 |
Posted: Mon Jan 19, 2004 9:43 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
Trigger messages are regenerated at queue manager startup and shutdown. I'd guess that the program that you have processing your queue is triggered, reads a single message, and then quits. The queue manager restarts sent enough messages through to clear the queue. |
|
Back to top |
|
 |
|