Hi,

Jay SenSharma

Jay SenSharma

Here is a Very Simple JMX Code which is specially help us to take THREAD_DUMPs of a Remote Server using Java code.  This code is even able to fetch all the JRockit JVM Runtime details as well..like getting PhysicalMemoryUtilization, Free Heap, Used Heap, Processors used, Load on processors….

Make sure that u are running Server on JRockit JVM to run this JMX code..Means JAVA_HOME is set to Jrockit JVM

This program can be enhanced more to get more useful informations…Please refer to: http://otndnld.oracle.co.jp/document/products/wls/docs90/javadocs_mhome/weblogic/management/runtime/JVMRuntimeMBean.html
Step1). Start any server (Example: AdminServer) with the Following JAVA_OPTION

set JAVA_OPTIONS=%JAVA_OPTIONS%  -Xmanagement:ssl=false,authenticate=false,port=7099

Step2). Write the followinfg JMX code …anywhere in your file system:

“PhysicalMemoryUsesChecking.java”

import java.util.Hashtable;
import java.io.*;
import javax.management.MBeanServerConnection;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
import javax.naming.Context;
import java.lang.management.ManagementFactory;
import javax.management.*;

public class PhysicalMemoryUsesChecking
{
private static MBeanServerConnection connection;
private static JMXConnector connector;

public static void Connection(String hostname, String port) throws IOException
{
Integer portInteger = Integer.valueOf(port);
Hashtable h = new Hashtable();
JMXServiceURL address = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://"+hostname+":"+port+"/jmxrmi");
connector = JMXConnectorFactory.connect(address,null);
connection = connector.getMBeanServerConnection();
System.out.println("GOT THE MBeanServerConnection--SUCCESSFULLY");
}

public static void getJRockitRuntimeData(String serverName)throws Exception
{
ObjectName jRockitRuntime=new ObjectName("com.bea:ServerRuntime="+serverName+",Name="+serverName+",Type=JRockitRuntime");
Long usedPhysicalMemory=(Long)connection.getAttribute(jRockitRuntime,"UsedPhysicalMemory");
Long freePhysicalMemory=(Long)connection.getAttribute(jRockitRuntime,"FreePhysicalMemory");
Long totalPhysicalMemory =(Long)connection.getAttribute(jRockitRuntime,"TotalPhysicalMemory");
Long totalHeap=(Long)connection.getAttribute(jRockitRuntime,"TotalHeap");
Long freeHeap=(Long)connection.getAttribute(jRockitRuntime,"FreeHeap");
Long usedHeap=(Long)connection.getAttribute(jRockitRuntime,"UsedHeap");
System.out.println("nnt UsedPhysicalMemory  : "+usedPhysicalMemory);
System.out.println("t FreePhysicalMemory  : "+freePhysicalMemory);
System.out.println("t TotalPhysicalMemory : "+totalPhysicalMemory);
System.out.println("t TotalHeap           : "+totalHeap);
System.out.println("t FreeHeap            : "+freeHeap);
System.out.println("t UsedHeap            : "+usedHeap);
}

public static void takeThreadDump(String serverName) throws Exception
{
ObjectName jRockitRuntime=new ObjectName("com.bea:ServerRuntime="+serverName+",Name="+serverName+",Type=JRockitRuntime");
String dumpStack=(String)connection.getAttribute(jRockitRuntime,"ThreadStackDump");
System.out.println("nnt --------------FULL THREAD_DUMP--------------n: "+dumpStack);
}

public static void main(String[] args) throws Exception
{
String hostname = args[0];
String port = args[1];
Connection(hostname, port);
getJRockitRuntimeData(args[2]);
takeThreadDump(args[2]);
connector.close();
}
}

Step3). Now run the following program as mentioned below:

java PhysicalMemoryUsesChecking       localhost      7099       AdminServer

OUTPUT:

C:DELETEJMX_Deploy>java PhysicalMemoryUsesChecking localhost 7099 AdminServer
GOT THE MBeanServerConnection–SUCCESSFULLY

UsedPhysicalMemory  : 1412120576
FreePhysicalMemory  : 464105472
TotalPhysicalMemory : 1876234240
TotalHeap           : 268435456
FreeHeap            : 85125696
UsedHeap            : 183309760

————–FULL THREAD_DUMP————–

===== FULL THREAD DUMP ===============
Fri May 07 13:30:50 2010
BEA JRockit(R) R27.6.0-50_o-100423-1.6.0_05-20080626-2105-windows-ia32

"Main Thread" id=1 idx=0x4 tid=14488 prio=5 alive, in native, waiting
-- Waiting for notification on: weblogic/t3/srvr/T3Srvr@0x01CE67D0[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)
at java/lang/Object.wait(Object.java:485)
at weblogic/t3/srvr/T3Srvr.waitForDeath(T3Srvr.java:811)
^-- Lock released while waiting: weblogic/t3/srvr/T3Srvr@0x01CE67D0[fat lock]
at weblogic/t3/srvr/T3Srvr.run(T3Srvr.java:459)
at weblogic/Server.main(Server.java:67)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"(Signal Handler)" id=2 idx=0x8 tid=7320 prio=5 alive, in native, daemon

"(GC Main Thread)" id=3 idx=0xc tid=14380 prio=5 alive, in native, native_waiting, daemon

"(GC Worker Thread 1)" id=? idx=0x10 tid=14224 prio=5 alive, in native, daemon

"(GC Worker Thread 2)" id=? idx=0x14 tid=14752 prio=5 alive, in native, daemon

"(Code Generation Thread 1)" id=4 idx=0x18 tid=15564 prio=5 alive, in native, native_waiting, daemon

"(Code Optimization Thread 1)" id=5 idx=0x1c tid=14624 prio=5 alive, in native, native_waiting, daemon

"(VM Periodic Task)" id=6 idx=0x20 tid=14588 prio=10 alive, in native, daemon

"(Attach Listener)" id=7 idx=0x24 tid=14560 prio=5 alive, in native, daemon

"Finalizer" id=8 idx=0x28 tid=14548 prio=8 alive, in native, native_waiting, daemon
at jrockit/memory/Finalizer.waitForFinalizees([Ljava/lang/Object;)I(Native Method)
at jrockit/memory/Finalizer.access$500(Finalizer.java:12)
at jrockit/memory/Finalizer$4.run(Finalizer.java:159)
at java/lang/Thread.run(Thread.java:619)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"Reference Handler" id=9 idx=0x2c tid=12472 prio=10 alive, in native, native_waiting, daemon
at java/lang/ref/Reference.waitForActivatedQueue()Ljava/lang/ref/Reference;(Native Method)
at java/lang/ref/Reference.access$100(Reference.java:11)
at java/lang/ref/Reference$ReferenceHandler.run(Reference.java:79)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"(Sensor Event Thread)" id=10 idx=0x30 tid=13520 prio=5 alive, in native, daemon

"RMI TCP Accept-0" id=12 idx=0x34 tid=14352 prio=5 alive, in native, daemon
at java/net/PlainSocketImpl.socketAccept(Ljava/net/SocketImpl;)V(Native Method)
at java/net/PlainSocketImpl.accept(PlainSocketImpl.java:384)
^-- Holding lock: java/net/SocksSocketImpl@0x0222D458[biased lock]
at java/net/ServerSocket.implAccept(ServerSocket.java:453)
at java/net/ServerSocket.accept(ServerSocket.java:421)
at sun/rmi/transport/tcp/TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
at sun/rmi/transport/tcp/TCPTransport$AcceptLoop.run(TCPTransport.java:341)
at java/lang/Thread.run(Thread.java:619)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"RMI TCP Accept-7099" id=13 idx=0x38 tid=6952 prio=5 alive, in native, daemon
at java/net/PlainSocketImpl.socketAccept(Ljava/net/SocketImpl;)V(Native Method)
at java/net/PlainSocketImpl.accept(PlainSocketImpl.java:384)
^-- Holding lock: java/net/SocksSocketImpl@0x02253240[biased lock]
at java/net/ServerSocket.implAccept(ServerSocket.java:453)
at java/net/ServerSocket.accept(ServerSocket.java:421)
at sun/rmi/transport/tcp/TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
at sun/rmi/transport/tcp/TCPTransport$AcceptLoop.run(TCPTransport.java:341)
at java/lang/Thread.run(Thread.java:619)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"Timer-0" id=15 idx=0x3c tid=14500 prio=5 alive, in native, waiting, daemon
-- Waiting for notification on: java/util/TaskQueue@0x010889C8[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)
at java/lang/Object.wait(Object.java:485)
at java/util/TimerThread.mainLoop(Timer.java:483)
^-- Lock released while waiting: java/util/TaskQueue@0x010889C8[fat lock]
at java/util/TimerThread.run(Timer.java:462)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"Timer-1" id=16 idx=0x40 tid=14492 prio=5 alive, in native, waiting, daemon
-- Waiting for notification on: java/util/TaskQueue@0x047967F8[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)[optimized]
at java/util/TimerThread.mainLoop(Timer.java:509)
^-- Lock released while waiting: java/util/TaskQueue@0x047967F8[fat lock]
at java/util/TimerThread.run(Timer.java:462)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" id=17 idx=0x44 tid=14480 prio=5 alive, in native, waiting, daemon
-- Waiting for notification on: weblogic/work/ExecuteThread@0x0479E870[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)[optimized]
at java/lang/Object.wait(Object.java:485)
at weblogic/work/ExecuteThread.waitForRequest(ExecuteThread.java:157)
^-- Lock released while waiting: weblogic/work/ExecuteThread@0x0479E870[fat lock]
at weblogic/work/ExecuteThread.run(ExecuteThread.java:178)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"weblogic.time.TimeEventGenerator" id=18 idx=0x48 tid=14476 prio=9 alive, in native, waiting, daemon
-- Waiting for notification on: weblogic/time/common/internal/TimeTable@0x0440D8B8[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)[optimized]
at weblogic/time/common/internal/TimeTable.snooze(TimeTable.java:286)
^-- Lock released while waiting: weblogic/time/common/internal/TimeTable@0x0440D8B8[fat lock]
at weblogic/time/common/internal/TimeEventGenerator.run(TimeEventGenerator.java:117)
at java/lang/Thread.run(Thread.java:619)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"JMAPI event thread" id=19 idx=0x4c tid=14460 prio=5 alive, in native, native_waiting, daemon

"weblogic.timers.TimerThread" id=20 idx=0x50 tid=14464 prio=9 alive, in native, waiting, daemon
-- Waiting for notification on: weblogic/timers/internal/TimerThread@0x044A5158[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)[optimized]
at weblogic/timers/internal/TimerThread$Thread.run(TimerThread.java:267)
^-- Lock released while waiting: weblogic/timers/internal/TimerThread@0x044A5158[fat lock]
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" id=21 idx=0x54 tid=14448 prio=5 alive, in native, waiting, daemon
-- Waiting for notification on: weblogic/work/ExecuteThread@0x044F3E90[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)[optimized]
at java/lang/Object.wait(Object.java:485)
at weblogic/work/ExecuteThread.waitForRequest(ExecuteThread.java:157)
^-- Lock released while waiting: weblogic/work/ExecuteThread@0x044F3E90[fat lock]
at weblogic/work/ExecuteThread.run(ExecuteThread.java:178)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"Thread-7" id=24 idx=0x58 tid=14452 prio=5 alive, in native, parked, daemon
-- Parking to wait for: java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject@0x03EBBC68
at jrockit/vm/Locks.park0(J)V(Native Method)
at jrockit/vm/Locks.park(Locks.java:2506)
at sun/misc/Unsafe.park(ZJ)V(Native Method)
at java/util/concurrent/locks/LockSupport.park(LockSupport.java:158)
at java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
at java/util/concurrent/LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
at weblogic/utils/concurrent/JDK15ConcurrentBlockingQueue.take(JDK15ConcurrentBlockingQueue.java:89)
at weblogic/store/internal/PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:567)
at weblogic/store/internal/PersistentStoreImpl.run(PersistentStoreImpl.java:615)
at weblogic/store/internal/PersistentStoreImpl$2.run(PersistentStoreImpl.java:383)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" id=25 idx=0x5c tid=14376 prio=5 alive, in native, daemon
at weblogic/socket/NTSocketMuxer.getIoCompletionResult(Lweblogic/socket/NTSocketMuxer$IoCompletionData;)Z(Native Method)
at weblogic/socket/NTSocketMuxer.processSockets(NTSocketMuxer.java:81)
at weblogic/socket/SocketReaderRequest.run(SocketReaderRequest.java:29)
at weblogic/socket/SocketReaderRequest.execute(SocketReaderRequest.java:42)
at weblogic/kernel/ExecuteThread.execute(ExecuteThread.java:145)
at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:117)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'" id=26 idx=0x60 tid=14368 prio=5 alive, in native, daemon
at weblogic/socket/NTSocketMuxer.getIoCompletionResult(Lweblogic/socket/NTSocketMuxer$IoCompletionData;)Z(Native Method)
at weblogic/socket/NTSocketMuxer.processSockets(NTSocketMuxer.java:81)
at weblogic/socket/SocketReaderRequest.run(SocketReaderRequest.java:29)
at weblogic/socket/SocketReaderRequest.execute(SocketReaderRequest.java:42)
at weblogic/kernel/ExecuteThread.execute(ExecuteThread.java:145)
at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:117)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" id=27 idx=0x64 tid=15348 prio=5 alive, in native, daemon
at weblogic/socket/NTSocketMuxer.getIoCompletionResult(Lweblogic/socket/NTSocketMuxer$IoCompletionData;)Z(Native Method)
at weblogic/socket/NTSocketMuxer.processSockets(NTSocketMuxer.java:81)
at weblogic/socket/SocketReaderRequest.run(SocketReaderRequest.java:29)
at weblogic/socket/SocketReaderRequest.execute(SocketReaderRequest.java:42)
at weblogic/kernel/ExecuteThread.execute(ExecuteThread.java:145)
at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:117)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"VDE Transaction Processor Thread" id=30 idx=0x68 tid=12168 prio=2 alive, in native, waiting, daemon
-- Waiting for notification on: com/octetstring/vde/backend/standard/TransactionProcessor@0x077035B0[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)
at java/lang/Object.wait(Object.java:485)
at com/octetstring/vde/backend/standard/TransactionProcessor.waitChange(TransactionProcessor.java:367)
^-- Lock released while waiting: com/octetstring/vde/backend/standard/TransactionProcessor@0x077035B0[fat lock]
at com/octetstring/vde/backend/standard/TransactionProcessor.run(TransactionProcessor.java:212)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"VDE Replication Thread" id=31 idx=0x6c tid=12812 prio=5 alive, in native, waiting, daemon
-- Waiting for notification on: com/octetstring/vde/replication/Replication@0x075980D8[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)[optimized]
at com/octetstring/vde/replication/Replication.wait30sec(Replication.java:384)
^-- Lock released while waiting: com/octetstring/vde/replication/Replication@0x075980D8[fat lock]
at com/octetstring/vde/replication/Replication.run(Replication.java:350)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"DoSManager" id=33 idx=0x74 tid=14780 prio=6 alive, in native, sleeping, native_waiting, daemon
at java/lang/Thread.sleep(J)V(Native Method)
at com/octetstring/vde/DoSManager.run(DoSManager.java:433)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"Thread-11" id=34 idx=0x78 tid=14804 prio=5 alive, in native, parked, daemon
-- Parking to wait for: java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject@0x0B34A9C0
at jrockit/vm/Locks.park0(J)V(Native Method)
at jrockit/vm/Locks.park(Locks.java:2506)
at sun/misc/Unsafe.park(ZJ)V(Native Method)
at java/util/concurrent/locks/LockSupport.park(LockSupport.java:158)
at java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
at java/util/concurrent/LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
at weblogic/utils/concurrent/JDK15ConcurrentBlockingQueue.take(JDK15ConcurrentBlockingQueue.java:89)
at weblogic/store/internal/PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:567)
at weblogic/store/internal/PersistentStoreImpl.run(PersistentStoreImpl.java:615)
at weblogic/store/internal/PersistentStoreImpl$2.run(PersistentStoreImpl.java:383)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" id=35 idx=0x7c tid=12120 prio=5 alive, in native, waiting, daemon
-- Waiting for notification on: weblogic/work/ExecuteThread@0x01ED8700[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)
at java/lang/Object.wait(Object.java:485)
at weblogic/work/ExecuteThread.waitForRequest(ExecuteThread.java:157)
^-- Lock released while waiting: weblogic/work/ExecuteThread@0x01ED8700[fat lock]
at weblogic/work/ExecuteThread.run(ExecuteThread.java:178)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"[STANDBY] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'" id=36 idx=0x80 tid=12732 prio=5 alive, in native, waiting, daemon
-- Waiting for notification on: weblogic/work/ExecuteThread@0x01FC5990[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)
at java/lang/Object.wait(Object.java:485)
at weblogic/work/ExecuteThread.waitForRequest(ExecuteThread.java:157)
^-- Lock released while waiting: weblogic/work/ExecuteThread@0x01FC5990[fat lock]
at weblogic/work/ExecuteThread.run(ExecuteThread.java:178)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"DynamicListenThread[Default]" id=37 idx=0x84 tid=5572 prio=9 alive, in native, daemon
at java/net/PlainSocketImpl.socketAccept(Ljava/net/SocketImpl;)V(Native Method)
at java/net/PlainSocketImpl.accept(PlainSocketImpl.java:384)
^-- Holding lock: java/net/SocksSocketImpl@0x06B8F6D0[biased lock]
at java/net/ServerSocket.implAccept(ServerSocket.java:453)
at java/net/ServerSocket.accept(ServerSocket.java:421)
at weblogic/socket/WeblogicServerSocket.accept(WeblogicServerSocket.java:38)
at weblogic/server/channels/DynamicListenThread$SocketAccepter.accept(DynamicListenThread.java:523)
at weblogic/server/channels/DynamicListenThread$SocketAccepter.access$200(DynamicListenThread.java:415)
at weblogic/server/channels/DynamicListenThread.run(DynamicListenThread.java:166)
at java/lang/Thread.run(Thread.java:619)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"DynamicListenThread[Default[1]]" id=38 idx=0x88 tid=12428 prio=9 alive, in native, daemon
at java/net/PlainSocketImpl.socketAccept(Ljava/net/SocketImpl;)V(Native Method)
at java/net/PlainSocketImpl.accept(PlainSocketImpl.java:384)
^-- Holding lock: java/net/SocksSocketImpl@0x06B91F58[biased lock]
at java/net/ServerSocket.implAccept(ServerSocket.java:453)
at java/net/ServerSocket.accept(ServerSocket.java:421)
at weblogic/socket/WeblogicServerSocket.accept(WeblogicServerSocket.java:38)
at weblogic/server/channels/DynamicListenThread$SocketAccepter.accept(DynamicListenThread.java:523)
at weblogic/server/channels/DynamicListenThread$SocketAccepter.access$200(DynamicListenThread.java:415)
at weblogic/server/channels/DynamicListenThread.run(DynamicListenThread.java:166)
at java/lang/Thread.run(Thread.java:619)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"RMI Scheduler(0)" id=40 idx=0x90 tid=1676 prio=5 alive, in native, parked, daemon
at jrockit/vm/Locks.park0(J)V(Native Method)
at jrockit/vm/Locks.park(Locks.java:2506)
at sun/misc/Unsafe.park(ZJ)V(Native Method)
at java/util/concurrent/locks/LockSupport.parkNanos(LockSupport.java:198)
at java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963)
at java/util/concurrent/DelayQueue.take(DelayQueue.java:164)
at java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:582)
at java/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:575)
at java/util/concurrent/ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:946)
at java/util/concurrent/ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
at java/lang/Thread.run(Thread.java:619)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"RMI TCP Connection(19)-127.0.0.1" id=63 idx=0xec tid=7472 prio=5 alive, in native, daemon
at jrockit/net/SocketNativeIO.readBytesPinned(Ljava/io/FileDescriptor;[BIII)I(Native Method)
at jrockit/net/SocketNativeIO.socketRead(SocketNativeIO.java:46)
at java/net/SocketInputStream.socketRead0(Ljava/io/FileDescriptor;[BIII)I(SocketInputStream.java)
at java/net/SocketInputStream.read(SocketInputStream.java:129)
at java/io/BufferedInputStream.fill(BufferedInputStream.java:218)
at java/io/BufferedInputStream.read(BufferedInputStream.java:237)
^-- Holding lock: java/io/BufferedInputStream@0x08CF2DD8[biased lock]
at java/io/FilterInputStream.read(FilterInputStream.java:66)
at sun/rmi/transport/tcp/TCPTransport.handleMessages(TCPTransport.java:517)
at sun/rmi/transport/tcp/TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun/rmi/transport/tcp/TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java/util/concurrent/ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java/util/concurrent/ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java/lang/Thread.run(Thread.java:619)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"RMI TCP Connection(20)-10.19.7.126" id=64 idx=0xf0 tid=4128 prio=5 alive, in native, daemon
at bea/jmapi/DiagnosticCommandImpl.execute(Ljava/lang/String;Ljava/io/FileDescriptor;)V(Native Method)
at bea/jmapi/DiagnosticCommandImpl.execute(DiagnosticCommandImpl.java:50)
at com/bea/jvm/DiagnosticCommand.execute(DiagnosticCommand.java:242)
at com/bea/jvm/DiagnosticCommand$Command.execute(DiagnosticCommand.java:394)
at bea/jmapi/ThreadSystemImpl.getThreadStackDump(ThreadSystemImpl.java:98)
at weblogic/t3/srvr/JRockitRuntime.getThreadStackDump(JRockitRuntime.java:83)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
at jrockit/vm/Reflect.invokeMethod(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Native Method)
at sun/reflect/NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Native Method)
at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java/lang/reflect/Method.invoke(Method.java:597)
at weblogic/management/jmx/modelmbean/WLSModelMBean.getAttribute(WLSModelMBean.java:525)
at com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:666)
at com/sun/jmx/mbeanserver/JmxMBeanServer.getAttribute(JmxMBeanServer.java:638)
at javax/management/remote/rmi/RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1403)
at javax/management/remote/rmi/RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
at javax/management/remote/rmi/RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1264)
at javax/management/remote/rmi/RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1359)
at javax/management/remote/rmi/RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:600)
at sun/reflect/GeneratedMethodAccessor31.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)
at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java/lang/reflect/Method.invoke(Method.java:597)
at sun/rmi/server/UnicastServerRef.dispatch(UnicastServerRef.java:305)
at sun/rmi/transport/Transport$1.run(Transport.java:159)
at jrockit/vm/AccessController.doPrivileged(AccessController.java:255)
at sun/rmi/transport/Transport.serviceCall(Transport.java:155)
at sun/rmi/transport/tcp/TCPTransport.handleMessages(TCPTransport.java:535)
at sun/rmi/transport/tcp/TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun/rmi/transport/tcp/TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java/util/concurrent/ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java/util/concurrent/ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java/lang/Thread.run(Thread.java:619)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

"JMX server connection timeout 65" id=65 idx=0xf4 tid=9152 prio=5 alive, in native, waiting, daemon
-- Waiting for notification on: [I@0x08D04148[fat lock]
at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)
at java/lang/Object.wait(J)V(Native Method)[optimized]
at com/sun/jmx/remote/internal/ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:150)
^-- Lock released while waiting: [I@0x08D04148[fat lock]
at java/lang/Thread.run(Thread.java:619)
at jrockit/vm/RNI.c2java(IIIII)V(Native Method)
-- end of trace

===== END OF THREAD DUMP ===============

.
.
Thanks

Jay SenSharma

If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.