Sun 应用程序服务器中的应用程序在处理一些消息后挂起

发布于 2024-11-18 10:11:33 字数 3112 浏览 4 评论 0原文

应用程序服务器 Sun appserver 8.1 JVM - java 1.5.0.11

我们有一个 JMS 接收器处理消息,部署在 Sun application Server 9.x 中 处理大约 50 条奇怪的消息后,应用程序服务器挂起。 重新启动后,50 条奇怪的消息将被处理并再次挂起。

不会抛出任何异常/错误(我们修改了代码以捕获 Throwable 并以严重模式登录)。因此,当代码或消息被重新处理时,该行为不能归因于它们。

非常感谢任何餐饮建议 我无法加载整个堆栈,有没有办法附加文件?

附件是 JSTACK o/p

regds, 奇斯

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)

Appliation server Sun appserver 8.1
JVM - java 1.5.0.11

We have a JMS receiver processing messages deployed in Sun application Server 9.x
After processing about 50 odd messages the appserver hangs.
Upon restart the 50 odd messages gets processed and hangs again.

No exceptions / error are thrown (We modified the code to catch Throwable and log in severe mode). Hence the bhavior cannot be attributed to code or messages as they get re-processed.

Would deeply appreciate any f/b suggestions
I could not load the entire stack, is there a way to attach a file?

Attached is JSTACK o/p

regds,
Chiths

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)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半仙 2024-11-25 10:11:33

线程被阻塞,没有上下文就无法分析。

考虑附加 jvisualvm 以更好地进行调查。它还可以检测死锁。

The thread is blocked which is impossible to analyze without context.

Consider attaching with jvisualvm to investigate better. It can also detect a deadlock.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文