Running the
JConsole will also give you the Thread information.
Attach the JConsole to the local JVM which is running the Application. On the
Thread tab, at the bottom there is a
Detect Deadlock button, which when pressed gives the Thread dump on the right pane.
Arvind
Hi,
I sometimes experience deadlock issues in Cisco jtapi.jar when having multiple observers on the same device and a heavy load on my application server during application startup (during cti observers are registered).
This might also be the cause why your code is stuck in middle of the try block.
If you run your application in linux you can send a QUIT signal to the JVM to do a thread dump (which includes a deadlock detection).
I simply do a "killall -QUIT java" and then check the logs for something like:
Found one Java-level deadlock:
=============================
"ObserverThread(com.andtek.andphone.JTAPIThread$MyProviderObserver@5f0e7d)":
waiting to lock monitor 0x088819b0 (object 0x94461b68, a com.cisco.jtapi.RouteTerminalImpl),
which is held by "APAS-JTAPIThread"
"APAS-JTAPIThread":
waiting to lock monitor 0x087a4e40 (object 0x9446a3a8, a com.cisco.jtapi.RouteAddressImpl),
which is held by "ObserverThread(com.andtek.andphone.JTAPIThread$MyProviderObserver@5f0e7d)"
Regards,
Stefan