|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
App appears blocked until any key is hit |
« View previous topic :: View next topic » |
Author |
Message
|
jmac |
Posted: Thu Sep 20, 2001 4:04 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
I have this really strange problem that occurred after installing MQSeries 5.2.
I have a multithreaded App one thread of which does a System.in.read(). It seems that this is causing the entire app to block waiting for input. I am running this on both WinNT and Wkn2K with the same results. Colleagues running the same app on Win2K with MQ 5.1 CSD6 do not experience the same behaviour.
Does anyone have any ideas what might be causing this?
Thanks
_________________ John McDonald
RETIRED |
|
Back to top |
|
 |
kolban |
Posted: Thu Sep 20, 2001 6:54 pm Post subject: |
|
|
 Grand Master
Joined: 22 May 2001 Posts: 1072 Location: Fort Worth, TX, USA
|
What does the other thread do? What should it be doing while the primary thread is blocked in the keyboard read? |
|
Back to top |
|
 |
jmac |
Posted: Fri Sep 21, 2001 5:34 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
There are MANY other threads. Some of them monitor MQ queues, so during startup they are in the process of Accessing the QueueManagers, then doing get on the Queue. They then loop endlessly waiting on the queues with a 5 second timeout. The thing that is so strange here, is that this code works UNCHANGED on a system with MQ 5.1 installed. Also, I know that if I do not start any threads which monitor queues, that the app does not block (Under 5.2). This is what leads me to believe this is some how MQSeries related. Agrreed that this seems really strange, but that's what I'm seeing.
Thanks for any additional hints you can provide.
_________________ John McDonald
RETIRED |
|
Back to top |
|
 |
kolban |
Posted: Fri Sep 21, 2001 6:33 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2001 Posts: 1072 Location: Fort Worth, TX, USA
|
A quick thought ... does each of the other threads have their own MQQueueManager object? A blocking get on a specific MQQueueManager object accessed queue should result in a blockage of all other MQ operations.
Is there any non-MQ work going on in other threads? How about adding a test thread that outputs "tick" every second to show it is still running... see what happens to that thread when you block on input. |
|
Back to top |
|
 |
jmac |
Posted: Fri Sep 21, 2001 10:13 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Each thread has its own MQQueueManager object and is accessed with MQC.MQOO_INPUT_SHARED and MQC.MQGMO_SYNCPOINT.
Based on your suggestion I ran a little test and it appears that the QueueManagers are blocking until I enter something on the console (just hitting the Enter key does it).
Further testing has shown me that the threads are issuing the call to get a new MQQueueManager object, but are not returning until there is some input on the console.
Thanks for your help
_________________
John McDonald
SYSCOM Inc.
IBM Certified Solutions Expert -
MQSeries Workflow
[ This Message was edited by: jmac on 2001-09-21 11:32 ] |
|
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
|
|
|
|