WAS streams
I ran into the problem that the WAS threads were hanging.
Configurations:
OS: AIX,
WAS: 6.1.0.31
com.ibm.websphere.threadmonitor.interval: 180 seconds
com.ibm.websphere.threadmonitor.threshold: 10 minutes
com.ibm.websphere.threadmonitor.false.alarm.threshold: 100
The above settings are for dangling detection.
Is there a way to clean up hanging threads?
Thanks in advance.
source to share
Not. WAS does not provide a mechanism for this. What you are seeing is a watchdog mechanism that only provides notifications. You should fix the underlying issue of why the threads hung in the first place. To get started with this problem
kill -3 <pid>
and read the stack trace. Probably after a few, you will start to see the pattern, and then you should read the source code for your applications to figure out what really went wrong and how to fix it.
source to share
As far as I know, this is Java which does not allow you to kill the thread that is hanging. It is best to avoid hanging threads while hunting down the cause. As mentioned in another answer, try to force the application server to dump the stream (aka Java Core) and parse its contents. On Linux / UNIX systems
kill -3 <pid>
will do the job. You will find free graphical tools on the Internet to explore these dumps. I usually use the one called IBM Thread and Monitor Dump Analyzer for Java . The WebSphere Application Server log file specifies the name of the thread to look for.
source to share
You have a tool for interpretation. I haven't used it in production though (never had this requirement, we go for a clean restart). You can check it out. It uses bytecode instrumentation.
http://www.ibm.com/developerworks/websphere/downloads/hungthread.html
source to share