1005 |
|
ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean(); |
1006 |
|
System.err.println("------ stacktrace dump start ------"); |
1007 |
|
for (ThreadInfo info : threadMXBean.dumpAllThreads(true, true)) { |
1008 |
< |
String name = info.getThreadName(); |
1008 |
> |
final String name = info.getThreadName(); |
1009 |
> |
String lockName; |
1010 |
|
if ("Signal Dispatcher".equals(name)) |
1011 |
|
continue; |
1012 |
|
if ("Reference Handler".equals(name) |
1013 |
< |
&& info.getLockName().startsWith("java.lang.ref.Reference$Lock")) |
1013 |
> |
&& (lockName = info.getLockName()) != null |
1014 |
> |
&& lockName.startsWith("java.lang.ref.Reference$Lock")) |
1015 |
|
continue; |
1016 |
|
if ("Finalizer".equals(name) |
1017 |
< |
&& info.getLockName().startsWith("java.lang.ref.ReferenceQueue$Lock")) |
1017 |
> |
&& (lockName = info.getLockName()) != null |
1018 |
> |
&& lockName.startsWith("java.lang.ref.ReferenceQueue$Lock")) |
1019 |
|
continue; |
1020 |
|
if ("checkForWedgedTest".equals(name)) |
1021 |
|
continue; |