private static final class CoreHealthService.ThreadMonitoringTimer
extends java.lang.Object
implements weblogic.timers.TimerListener
Modifier and Type | Field and Description |
---|---|
private boolean |
alreadyDeadlocked |
private ServerRuntimeMBean |
serverRuntimeMBean |
private long |
stuckThreadMaxTime |
private long |
timerInterval |
Modifier | Constructor and Description |
---|---|
private |
ThreadMonitoringTimer(long stuckThreadMaxTime,
long stuckThreadsTimerInterval,
ServerRuntimeMBean serverRuntimeMBean) |
Modifier and Type | Method and Description |
---|---|
private void |
checkDeadlockedThreads()
Check for deadlocked threads and report them.
|
private void |
checkStuckThreads()
Called by the thread monitoring timer to check for stuck threads in all
thread pools.
|
private boolean |
logStuckThreadMessage(long elapsedTime,
long maxTime)
Determine if logging should be done for a stuck thread.
|
private boolean |
logStuckThreads(ExecuteThread[] stuckThreads,
int totalCount,
java.lang.String queueName)
This method logs stuck threads.
|
void |
timerExpired(weblogic.timers.Timer timer)
This method is invoked by a TimerManager when a timer
expires.
|
private final long stuckThreadMaxTime
private final long timerInterval
private final ServerRuntimeMBean serverRuntimeMBean
private boolean alreadyDeadlocked
private ThreadMonitoringTimer(long stuckThreadMaxTime, long stuckThreadsTimerInterval, ServerRuntimeMBean serverRuntimeMBean)
public void timerExpired(weblogic.timers.Timer timer)
weblogic.timers.TimerListener
timerExpired
in interface weblogic.timers.TimerListener
timer
- The timer that expired and caused the
listener to be invoked.private void checkDeadlockedThreads()
private void checkStuckThreads()
Note that stuck thread actions are possible only for self-tuning pool and NOT for execute queues.
private boolean logStuckThreads(ExecuteThread[] stuckThreads, int totalCount, java.lang.String queueName)
true
if all the threads are stuck,
false
otherwise.private boolean logStuckThreadMessage(long elapsedTime, long maxTime)