应用服务器Sun appserver 8.1 JVM - java 1.5.0.11
我们在Sun application Server9.x中部署了一个JMS接收器来处理消息,在处理了大约50多条appserver挂起的消息之后。在重启时,50多条消息被处理并再次挂起。
没有抛出异常/错误(我们修改了代码以捕获Throwable并在严重模式下记录)。因此,行为不能归因于代码或消息,因为它们被重新处理。
我将非常感谢任何f/b的建议,我不能加载整个堆栈,有没有办法附加一个文件?
附件为JSTACK o/p
雷吉斯,基思
Thread t@139: (state = BLOCKED)
- com.sun.httpservice.spi.HttpService.stop() @bci=0, line=286 (Interpreted frame)
- com.sun.enterprise.web.HttpServiceWebContainer.stopHttpService() @bci=16, line=1080 (Interpreted frame)
- com.sun.enterprise.web.HttpServiceWebContainer.stopInstance() @bci=24, line=913 (Interpreted frame)
- com.sun.enterprise.web.HttpServiceWebContainerLifecycle.onShutdown() @bci=9, line=62 (Interpreted frame)
- com.sun.enterprise.server.ApplicationServer.onShutdown() @bci=55, line=414 (Interpreted frame)
- com.sun.enterprise.server.Shutdown.startShutdown(com.sun.enterprise.admin.event.ShutdownEvent) @bci=3, line=41 (Interpreted frame)
- com.sun.enterprise.admin.event.AdminEventMulticaster.invokeShutdownEventListener(com.sun.enterprise.admin.event.ShutdownEventListener, com.sun.enterprise.admin.event.ShutdownEvent) @bci=7, line=1445 (Interpreted frame)
- com.sun.enterprise.admin.event.AdminEventMulticaster.handleShutdownEvent(com.sun.enterprise.admin.event.AdminEvent) @bci=56, line=1434 (Interpreted frame)
- com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(com.sun.enterprise.admin.event.AdminEvent) @bci=247, line=443 (Interpreted frame)
- com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(com.sun.enterprise.admin.event.AdminEvent) @bci=37, line=139 (Interpreted frame)
- com.sun.enterprise.admin.server.core.channel.AdminChannelServer.sendNotification(byte[], com.sun.enterprise.admin.event.AdminEvent) @bci=52, line=90 (Interpreted frame)
- sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) @bci=0 (Compiled frame)
- sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) @bci=87, line=39 (Compiled frame)
- sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) @bci=6, line=25 (Compiled frame)
- java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) @bci=111, line=585 (Compiled frame)
- sun.rmi.server.UnicastServerRef.dispatch(java.rmi.Remote, java.rmi.server.RemoteCall) @bci=246, line=294 (Compiled frame)
- sun.rmi.transport.Transport$1.run() @bci=23, line=153 (Interpreted frame)
- java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext) @bci=0 (Interpreted frame)
- sun.rmi.transport.Transport.serviceCall(java.rmi.server.RemoteCall) @bci=163, line=149 (Interpreted frame)
- sun.rmi.transport.tcp.TCPTransport.handleMessages(sun.rmi.transport.Connection, boolean) @bci=185, line=460 (Compiled frame)
- sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run() @bci=685, line=701 (Interpreted frame)
- java.lang.Thread.run() @bi=11, line=595 (Interpreted frame)发布于 2011-07-01 18:11:28
线程被阻塞,在没有上下文的情况下无法进行分析。
考虑使用jvisualvm进行更好的调查。它还可以检测死锁。
https://stackoverflow.com/questions/6546523
复制相似问题