Saturday, February 5, 2011

Connect to Weblogic server using JMX

Accessing WebLogic Server MBeans with JMX
http://download.oracle.com/docs/cd/E14571_01/web.1111/e13728/accesswls.htm#i1116377

Sample WebLogic JMX Client
http://blogs.oracle.com/WebLogicServer/2009/09/sample_weblogic_jmx_client.html


Weblogic MBean reference
DomainRuntimeServiceMBean
http://download.oracle.com/docs/cd/E14571_01/apirefs.1111/e13951/core/index.html

Understanding WebLogic Server MBeans
http://download.oracle.com/docs/cd/E14571_01/web.1111/e13728/understandwls.htm#i1081115


JMX Javadoc
http://download.oracle.com/javase/6/docs/api/javax/management/remote/package-summary.html
JMXServiceURL
http://download.oracle.com/javase/6/docs/api/javax/management/remote/JMXServiceURL.html


Java Management Extensions (JMX) tutorial
http://download.oracle.com/javase/tutorial/jmx/index.html

Java Management Extensions (JMX) Technology
http://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html



package dave;

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Hashtable;

import javax.management.Attribute;
import javax.management.AttributeList;
import javax.management.MBeanServerConnection;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
import javax.naming.Context;

public class PrintServerState {

private static MBeanServerConnection connection;
private static JMXConnector connector;
private static final ObjectName service;

// Initializing the object name for DomainRuntimeServiceMBean
// so it can be used throughout the class.
static {
try {
service = new ObjectName(
"com.bea:Name=DomainRuntimeService,Type=weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean");
} catch (MalformedObjectNameException e) {
throw new AssertionError(e.getMessage());
}
}

/*
* Initialize connection to the Domain Runtime MBean Server
*/
public static void initConnection(String hostname, String portString,
String username, String password) throws IOException,
MalformedURLException {
String protocol = "t3";
Integer portInteger = Integer.valueOf(portString);
int port = portInteger.intValue();
String jndiroot = "/jndi/";
String mserver = "weblogic.management.mbeanservers.domainruntime";
JMXServiceURL serviceURL = new JMXServiceURL(protocol, hostname, port,
jndiroot + mserver);
Hashtable h = new Hashtable();
h.put(Context.SECURITY_PRINCIPAL, username);
h.put(Context.SECURITY_CREDENTIALS, password);
h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,
"weblogic.management.remote");
connector = JMXConnectorFactory.connect(serviceURL, h);
connection = connector.getMBeanServerConnection();
}

/*
* Print an array of ServerRuntimeMBeans. This MBean is the root of the
* runtime MBean hierarchy, and each server in the domain hosts its own
* instance.
*/
public static ObjectName[] getServerRuntimes() throws Exception {
return (ObjectName[]) connection
.getAttribute(service, "ServerRuntimes");
}

/*
* Iterate through ServerRuntimeMBeans and get the name and state
*/
public void printNameAndState() throws Exception {
ObjectName[] serverRT = getServerRuntimes();
System.out.println("got server runtimes");
int length = (int) serverRT.length;
for (int i = 0; i < length; i++) {
String name = (String) connection.getAttribute(serverRT[i], "Name");
String state = (String) connection.getAttribute(serverRT[i],
"State");
System.out.println("Server name: " + name + ". Server state: "
+ state);
}
// Get the ObjectName of the domain's DomainMBean by getting the value
// of the DomainRuntimeServiceMBean DomainConfiguration attribute
ObjectName domainconfig = (ObjectName) connection.getAttribute(service,
"DomainConfiguration");

// Get the ObjectNames for all ServerMBeans in the domain by getting the
// value of the DomainMBean Servers attribute
ObjectName[] servers = (ObjectName[]) connection.getAttribute(
domainconfig, "Servers");
printMBeans(servers);

// get all server runtimes
ObjectName[] serverRuntimes = (ObjectName[]) connection.getAttribute(
service, "ServerRuntimes");
printMBeans(serverRuntimes);

// print attributes for each server
for (ObjectName server : serverRuntimes) {
System.out.println(server);
String[] attributes = new String[] { "CurrentDirectory", "State",
"ListenAddress", "ListenPort" };
AttributeList values = connection.getAttributes(server, attributes);
for (Object attribute : values) {
System.out.println(attribute);
}
ObjectName jvmRuntime = (ObjectName) connection.getAttribute(
server, "JVMRuntime");
attributes = new String[] { "HeapSizeCurrent", "HeapSizeFree",
"ThreadStackDump" };
values = connection.getAttributes(jvmRuntime, attributes);
for (Object attribute : values) {
System.out.println(attribute);
}

//ExecuteThreadTotalCount
//PendingRequestCurrentCount
//ExecuteThreads
ObjectName[] executeQueueRuntimes = (ObjectName[] ) connection.getAttribute(
server, "ExecuteQueueRuntimes");

// print attributes for each queue runtime
for (ObjectName queueRuntime : executeQueueRuntimes) {
attributes = new String[] { "ExecuteThreadTotalCount",
"PendingRequestCurrentCount", "ExecuteThreads" };
values = connection.getAttributes(queueRuntime, attributes);
for (Object attribute : values) {
System.out.println(attribute);
}
}
}

}

private static void printMBeans(ObjectName[] mbeans) {
for (ObjectName mbeanName : mbeans) {
System.out.println(mbeanName);
}
}

public static void main(String[] args) throws Exception {
String hostname = args[0];
String portString = args[1];
String username = args[2];
String password = args[3];

PrintServerState s = new PrintServerState();
initConnection(hostname, portString, username, password);
s.printNameAndState();
connector.close();
}
}




got server runtimes
Server name: AdminServer. Server state: RUNNING
Server name: ManagedServer. Server state: RUNNING
com.bea:Name=AdminServer,Location=base_domain,Type=Server
com.bea:Name=ManagedServer,Location=base_domain,Type=Server
com.bea:Name=AdminServer,Location=AdminServer,Type=ServerRuntime
com.bea:Name=ManagedServer,Location=ManagedServer,Type=ServerRuntime
com.bea:Name=AdminServer,Location=AdminServer,Type=ServerRuntime
CurrentDirectory = /usr/app/domains/base_domain/.
State = RUNNING
ListenAddress = localhost/127.0.0.1
ListenPort = 7001
HeapSizeCurrent = 259588096
ThreadStackDump = "VDE Replication Thread" waiting for lock com.octetstring.vde.replication.Replication@90f767 TIMED_WAITING
java.lang.Object.wait(Native Method)
com.octetstring.vde.replication.Replication.wait30sec(Replication.java:384)
com.octetstring.vde.replication.Replication.run(Replication.java:350)

"[ACTIVE] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock com.sun.jmx.remote.internal.ArrayNotificationBuffer@162c3e6 TIMED_WAITING
java.lang.Object.wait(Native Method)
com.sun.jmx.remote.internal.ArrayNotificationBuffer.fetchNotifications(ArrayNotificationBuffer.java:417)
com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.fetchNotifications(ArrayNotificationBuffer.java:209)
com.sun.jmx.remote.internal.ServerNotifForwarder.fetchNotifs(ServerNotifForwarder.java:258)
javax.management.remote.rmi.RMIConnectionImpl$2.run(RMIConnectionImpl.java:1227)
javax.management.remote.rmi.RMIConnectionImpl$2.run(RMIConnectionImpl.java:1225)
java.security.AccessController.doPrivileged(Native Method)
javax.management.remote.rmi.RMIConnectionImpl.fetchNotifications(RMIConnectionImpl.java:1233)
javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(Unknown Source)
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

"[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE
sun.management.ThreadImpl.getThreadInfo0(Native Method)
sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:145)
weblogic.platform.VM15.threadDumpAsString(VM15.java:22)
weblogic.platform.VM.threadDumpAsString(VM.java:137)
weblogic.t3.srvr.JVMRuntime.getThreadStackDump(JVMRuntime.java:114)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
weblogic.management.jmx.modelmbean.WLSModelMBean.getAttribute(WLSModelMBean.java:525)
weblogic.management.jmx.modelmbean.WLSModelMBean.getAttributes(WLSModelMBean.java:585)
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttributes(DefaultMBeanServerInterceptor.java:726)
com.sun.jmx.mbeanserver.JmxMBeanServer.getAttributes(JmxMBeanServer.java:665)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$13.run(WLSMBeanServerInterceptorBase.java:353)
java.security.AccessController.doPrivileged(Native Method)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttributes(WLSMBeanServerInterceptorBase.java:351)
weblogic.management.mbeanservers.internal.JMXContextInterceptor.getAttributes(JMXContextInterceptor.java:198)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$13.run(WLSMBeanServerInterceptorBase.java:353)
java.security.AccessController.doPrivileged(Native Method)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttributes(WLSMBeanServerInterceptorBase.java:351)
weblogic.management.mbeanservers.internal.SecurityInterceptor.getAttributes(SecurityInterceptor.java:307)
weblogic.management.jmx.mbeanserver.WLSMBeanServer.getAttributes(WLSMBeanServer.java:292)
weblogic.management.mbeanservers.domainruntime.internal.ManagedMBeanServerConnection.getAttributes(ManagedMBeanServerConnection.java:309)
weblogic.management.mbeanservers.domainruntime.internal.FederatedMBeanServerInterceptor.getAttributes(FederatedMBeanServerInterceptor.java:318)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$13.run(WLSMBeanServerInterceptorBase.java:353)
java.security.AccessController.doPrivileged(Native Method)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttributes(WLSMBeanServerInterceptorBase.java:351)
weblogic.management.mbeanservers.internal.JMXContextInterceptor.getAttributes(JMXContextInterceptor.java:198)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$13.run(WLSMBeanServerInterceptorBase.java:353)
java.security.AccessController.doPrivileged(Native Method)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttributes(WLSMBeanServerInterceptorBase.java:351)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$13.run(WLSMBeanServerInterceptorBase.java:353)
java.security.AccessController.doPrivileged(Native Method)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttributes(WLSMBeanServerInterceptorBase.java:351)
weblogic.management.mbeanservers.internal.SecurityInterceptor.getAttributes(SecurityInterceptor.java:307)
weblogic.management.jmx.mbeanserver.WLSMBeanServer.getAttributes(WLSMBeanServer.java:292)
weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder$6$1.run(JMXConnectorSubjectForwarder.java:382)
weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder$6$1.run(JMXConnectorSubjectForwarder.java:380)
java.security.AccessController.doPrivileged(Native Method)
weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder$6.run(JMXConnectorSubjectForwarder.java:380)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder.getAttributes(JMXConnectorSubjectForwarder.java:375)
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1407)
javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1264)
java.security.AccessController.doPrivileged(Native Method)
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1366)
javax.management.remote.rmi.RMIConnectionImpl.getAttributes(RMIConnectionImpl.java:636)
javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(Unknown Source)
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

"[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@1474c6c WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)
weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

"[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@14c6b5 WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)
weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

"DynamicListenThread[Default]" RUNNABLE native
java.net.PlainSocketImpl.socketAccept(Native Method)
java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
java.net.ServerSocket.implAccept(ServerSocket.java:453)
java.net.ServerSocket.accept(ServerSocket.java:421)
weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:38)
weblogic.server.channels.DynamicListenThread$SocketAccepter.accept(DynamicListenThread.java:535)
weblogic.server.channels.DynamicListenThread$SocketAccepter.access$200(DynamicListenThread.java:420)
weblogic.server.channels.DynamicListenThread.run(DynamicListenThread.java:171)
java.lang.Thread.run(Thread.java:619)

"weblogic.GCMonitor" waiting for lock java.lang.ref.ReferenceQueue$Lock@1738bf TIMED_WAITING
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
weblogic.platform.GCMonitorThread.waitForNotification(GCMonitorThread.java:88)
weblogic.platform.GCMonitorThread.run(GCMonitorThread.java:64)

"Thread-12" waiting for lock java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@8ea05d WAITING
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
weblogic.utils.concurrent.JDK15ConcurrentBlockingQueue.take(JDK15ConcurrentBlockingQueue.java:89)
weblogic.store.internal.PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:650)
weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:707)
weblogic.store.internal.PersistentStoreImpl$2.run(PersistentStoreImpl.java:464)

"[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@1c2798d WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)
weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

"Attach Listener" RUNNABLE
null
"[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@ba5568 WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)
weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

"[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock com.sun.jmx.remote.internal.ArrayNotificationBuffer@1ea7e80 TIMED_WAITING
java.lang.Object.wait(Native Method)
com.sun.jmx.remote.internal.ArrayNotificationBuffer.fetchNotifications(ArrayNotificationBuffer.java:417)
com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.fetchNotifications(ArrayNotificationBuffer.java:209)
com.sun.jmx.remote.internal.ServerNotifForwarder.fetchNotifs(ServerNotifForwarder.java:258)
javax.management.remote.rmi.RMIConnectionImpl$2.run(RMIConnectionImpl.java:1227)
javax.management.remote.rmi.RMIConnectionImpl$2.run(RMIConnectionImpl.java:1225)
java.security.AccessController.doPrivileged(Native Method)
javax.management.remote.rmi.RMIConnectionImpl.fetchNotifications(RMIConnectionImpl.java:1233)
javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(Unknown Source)
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

"Thread-11" waiting for lock java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@13d1f37 WAITING
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
weblogic.utils.concurrent.JDK15ConcurrentBlockingQueue.take(JDK15ConcurrentBlockingQueue.java:89)
weblogic.store.internal.PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:650)
weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:707)
weblogic.store.internal.PersistentStoreImpl$2.run(PersistentStoreImpl.java:464)

"Timer-2" waiting for lock java.util.TaskQueue@1cc7971 TIMED_WAITING
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Timer.java:509)
java.util.TimerThread.run(Timer.java:462)

"DoSManager" TIMED_WAITING
java.lang.Thread.sleep(Native Method)
com.octetstring.vde.DoSManager.run(DoSManager.java:433)

"VDE Transaction Processor Thread" waiting for lock com.octetstring.vde.backend.standard.TransactionProcessor@1391097 WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
com.octetstring.vde.backend.standard.TransactionProcessor.waitChange(TransactionProcessor.java:367)
com.octetstring.vde.backend.standard.TransactionProcessor.run(TransactionProcessor.java:212)

"ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" waiting for lock weblogic.socket.PosixSocketMuxer$1@1705951 BLOCKED
weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:95)
weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

"ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'" RUNNABLE native
weblogic.socket.PosixSocketMuxer.poll(Native Method)
weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:102)
weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

"ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" waiting for lock weblogic.socket.PosixSocketMuxer$1@1705951 BLOCKED
weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:95)
weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

"[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@f7fc8f WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)
weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

"weblogic.timers.TimerThread" waiting for lock weblogic.timers.internal.TimerThread@e615e9 TIMED_WAITING
java.lang.Object.wait(Native Method)
weblogic.timers.internal.TimerThread$Thread.run(TimerThread.java:262)

"weblogic.time.TimeEventGenerator" waiting for lock weblogic.time.common.internal.TimeTable@1a883d8 TIMED_WAITING
java.lang.Object.wait(Native Method)
weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:286)
weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:117)
java.lang.Thread.run(Thread.java:619)

"[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@67e3fd WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)
weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

"Timer-1" waiting for lock java.util.TaskQueue@a9059c TIMED_WAITING
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Timer.java:509)
java.util.TimerThread.run(Timer.java:462)

"Timer-0" waiting for lock java.util.TaskQueue@af7a72 WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
java.util.TimerThread.mainLoop(Timer.java:483)
java.util.TimerThread.run(Timer.java:462)

"Signal Dispatcher" RUNNABLE
null
"Finalizer" waiting for lock java.lang.ref.ReferenceQueue$Lock@8feb56 WAITING
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" waiting for lock java.lang.ref.Reference$Lock@a3846c WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)

"main" waiting for lock weblogic.t3.srvr.T3Srvr@14adb17 WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
weblogic.t3.srvr.T3Srvr.waitForDeath(T3Srvr.java:902)
weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:465)
weblogic.Server.main(Server.java:67)


ExecuteThreadTotalCount = 3
PendingRequestCurrentCount = 0
ExecuteThreads = [Lweblogic.management.runtime.ExecuteThread;@1b03c1a
com.bea:Name=ManagedServer,Location=ManagedServer,Type=ServerRuntime
CurrentDirectory = /usr/app/domains/base_domain/.
State = RUNNING
ListenAddress = localhost/127.0.0.1
ListenPort = 7003
HeapSizeCurrent = 259588096
ThreadStackDump = "[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE
sun.management.ThreadImpl.getThreadInfo0(Native Method)
sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:145)
weblogic.platform.VM15.threadDumpAsString(VM15.java:22)
weblogic.platform.VM.threadDumpAsString(VM.java:137)
weblogic.t3.srvr.JVMRuntime.getThreadStackDump(JVMRuntime.java:114)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
weblogic.management.jmx.modelmbean.WLSModelMBean.getAttribute(WLSModelMBean.java:525)
weblogic.management.jmx.modelmbean.WLSModelMBean.getAttributes(WLSModelMBean.java:585)
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttributes(DefaultMBeanServerInterceptor.java:726)
com.sun.jmx.mbeanserver.JmxMBeanServer.getAttributes(JmxMBeanServer.java:665)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$13.run(WLSMBeanServerInterceptorBase.java:353)
java.security.AccessController.doPrivileged(Native Method)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttributes(WLSMBeanServerInterceptorBase.java:351)
weblogic.management.mbeanservers.internal.JMXContextInterceptor.getAttributes(JMXContextInterceptor.java:198)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$13.run(WLSMBeanServerInterceptorBase.java:353)
java.security.AccessController.doPrivileged(Native Method)
weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.getAttributes(WLSMBeanServerInterceptorBase.java:351)
weblogic.management.mbeanservers.internal.SecurityInterceptor.getAttributes(SecurityInterceptor.java:307)
weblogic.management.jmx.mbeanserver.WLSMBeanServer.getAttributes(WLSMBeanServer.java:292)
weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder$6$1.run(JMXConnectorSubjectForwarder.java:382)
weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder$6$1.run(JMXConnectorSubjectForwarder.java:380)
java.security.AccessController.doPrivileged(Native Method)
weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder$6.run(JMXConnectorSubjectForwarder.java:380)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder.getAttributes(JMXConnectorSubjectForwarder.java:375)
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1407)
javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1264)
java.security.AccessController.doPrivileged(Native Method)
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1366)
javax.management.remote.rmi.RMIConnectionImpl.getAttributes(RMIConnectionImpl.java:636)
javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(Unknown Source)
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

"DynamicListenThread[Default]" RUNNABLE native
java.net.PlainSocketImpl.socketAccept(Native Method)
java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
java.net.ServerSocket.implAccept(ServerSocket.java:453)
java.net.ServerSocket.accept(ServerSocket.java:421)
weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:38)
weblogic.server.channels.DynamicListenThread$SocketAccepter.accept(DynamicListenThread.java:535)
weblogic.server.channels.DynamicListenThread$SocketAccepter.access$200(DynamicListenThread.java:420)
weblogic.server.channels.DynamicListenThread.run(DynamicListenThread.java:171)
java.lang.Thread.run(Thread.java:619)

"weblogic.GCMonitor" waiting for lock java.lang.ref.ReferenceQueue$Lock@1e71d39 TIMED_WAITING
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
weblogic.platform.GCMonitorThread.waitForNotification(GCMonitorThread.java:88)
weblogic.platform.GCMonitorThread.run(GCMonitorThread.java:64)

"Thread-12" waiting for lock java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2f925d WAITING
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
weblogic.utils.concurrent.JDK15ConcurrentBlockingQueue.take(JDK15ConcurrentBlockingQueue.java:89)
weblogic.store.internal.PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:650)
weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:707)
weblogic.store.internal.PersistentStoreImpl$2.run(PersistentStoreImpl.java:464)

"[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@13246f3 WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)
weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

"Thread-11" waiting for lock java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@1d017d4 WAITING
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
weblogic.utils.concurrent.JDK15ConcurrentBlockingQueue.take(JDK15ConcurrentBlockingQueue.java:89)
weblogic.store.internal.PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:650)
weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:707)
weblogic.store.internal.PersistentStoreImpl$2.run(PersistentStoreImpl.java:464)

"Timer-2" waiting for lock java.util.TaskQueue@cc831a TIMED_WAITING
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Timer.java:509)
java.util.TimerThread.run(Timer.java:462)

"DoSManager" TIMED_WAITING
java.lang.Thread.sleep(Native Method)
com.octetstring.vde.DoSManager.run(DoSManager.java:433)

"VDE Transaction Processor Thread" waiting for lock com.octetstring.vde.backend.standard.TransactionProcessor@b3519c WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
com.octetstring.vde.backend.standard.TransactionProcessor.waitChange(TransactionProcessor.java:367)
com.octetstring.vde.backend.standard.TransactionProcessor.run(TransactionProcessor.java:212)

"ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" RUNNABLE native
weblogic.socket.PosixSocketMuxer.poll(Native Method)
weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:102)
weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

"ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'" waiting for lock weblogic.socket.PosixSocketMuxer$1@b2e25b BLOCKED
weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:95)
weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

"ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" waiting for lock weblogic.socket.PosixSocketMuxer$1@b2e25b BLOCKED
weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:95)
weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:42)
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)

"[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock weblogic.work.ExecuteThread@2ae278 WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
weblogic.work.ExecuteThread.waitForRequest(ExecuteThread.java:157)
weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

"weblogic.timers.TimerThread" waiting for lock weblogic.timers.internal.TimerThread@17a5010 TIMED_WAITING
java.lang.Object.wait(Native Method)
weblogic.timers.internal.TimerThread$Thread.run(TimerThread.java:262)

"weblogic.time.TimeEventGenerator" waiting for lock weblogic.time.common.internal.TimeTable@11e67eb TIMED_WAITING
java.lang.Object.wait(Native Method)
weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:286)
weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:117)
java.lang.Thread.run(Thread.java:619)

"[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE
java.lang.Thread.currentThread(Native Method)
weblogic.security.service.SubjectManagerImpl.getCurrentSubject(SubjectManagerImpl.java:72)
weblogic.security.service.SecurityManager.getCurrentSubject(SecurityManager.java:46)
weblogic.security.service.SecurityServiceManager.getCurrentSubjectForWire(SecurityServiceManager.java:1029)
weblogic.rmi.internal.wls.WLSRMIEnvironment.getCurrentSubjectForWire(WLSRMIEnvironment.java:244)
weblogic.rjvm.RJVMImpl.getRequestStream(RJVMImpl.java:555)
weblogic.rjvm.RJVMImpl.getOutboundRequest(RJVMImpl.java:787)
weblogic.rmi.internal.BasicRemoteRef.getOutboundRequest(BasicRemoteRef.java:159)
weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:211)
weblogic.management.logging.DomainLogHandlerImpl_1033_WLStub.publishLogEntries(Unknown Source)
weblogic.logging.DomainLogBroadcasterClient$2.run(DomainLogBroadcasterClient.java:209)
weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

"Timer-1" waiting for lock java.util.TaskQueue@1387c07 TIMED_WAITING
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Timer.java:509)
java.util.TimerThread.run(Timer.java:462)

"Timer-0" waiting for lock java.util.TaskQueue@156d418 WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
java.util.TimerThread.mainLoop(Timer.java:483)
java.util.TimerThread.run(Timer.java:462)

"Signal Dispatcher" RUNNABLE
null
"Finalizer" waiting for lock java.lang.ref.ReferenceQueue$Lock@17e9b52 WAITING
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" waiting for lock java.lang.ref.Reference$Lock@10765e2 WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)

"main" waiting for lock weblogic.t3.srvr.T3Srvr@b201fd WAITING
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
weblogic.t3.srvr.T3Srvr.waitForDeath(T3Srvr.java:902)
weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:465)
weblogic.Server.main(Server.java:67)


ExecuteThreadTotalCount = 3
PendingRequestCurrentCount = 0
ExecuteThreads = [Lweblogic.management.runtime.ExecuteThread;@f07355

No comments:

Post a Comment