SystemOut.log: 0000001c ThreadMonitor
W WSVR0605W: Thread "WebContainer : 81" (000001e0) has been active for 646905
milliseconds and may be hung. There is/are 119 thread(s) in total in the server
that may be hung.
Is there any ways (like server settings or through code) available to make the hung threads return to the pool without restarting? Also please let me know is there any thing that we need to look on either on our code or on the server settings?
I am providing server settings information below:
Thread pool: minimumSize="50" maximumSize="200" inactivityTimeout="3500" isGrowable="false"
Connection pool: Connection timeout=180seconds Minimum connections=10 Maximum connections=70 Reap time=180seconds Unused timeout=1800seconds Aged timeout=0seconds Purge policy=EntirePool
Heap Size: initialHeapSize="512" maximumHeapSize="1024"
Any suggestion would be of great help to us and is highly appreciated.
Thanks & Regards,
NKarthikeyan
Ken
Database access have been replaced by jdbc access and solve our problem
If the thread is really blocked like a deadlock between two threads, there
is no way to "cancel" the operation and return to a sane state, except
restart.
It may also be that the thread is hanging for a long time but will finally
unblock. In this case, it naturally returns to a sane state.
> Also please let me know is there any thing that we need to look on either
> on our code or on the server settings?
Difficult to say what your application does.
Collect a thread dump (kill -3 pid) and correlate the thread name from the
warning with the thread name in the dump.
See Performance / Hangs in the Troubleshooting Guide:
http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg27005324.
Does your application server connects to third party server like as400
or only to a database.
can you see the time when the application falls and correlate with the
scheduled jobs during that time or a bit earlier.
Regards
Rajesh Saravanan