我的服务器正在使用 XFire 处理 Web 服务请求
但它的 CPU 被占用高达 100% 甚至 1000%
当我重新启动服务器并经过一些请求后,这个奇怪的问题再次出现
我扫描线程转储,占用CPU的线程是这样的:
httpWorkerThread-18028-39" daemon prio=10 tid=0xa0832800 nid=0x1d89 runnable [0x99e69000]
java.lang.Thread.State: RUNNABLE
at com.sun.xml.stream.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:892)
at com.sun.xml.stream.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:362)
at com.sun.xml.stream.XMLReaderImpl.next(XMLReaderImpl.java:568)
at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:44)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:753)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:846)
XFire 似乎在解析一个 XML 文件,但随着时间的推移,线程转储并没有什么不同,线程就像在无限循环中一样。
但是,我对 XFire 没有足够的经验,我无法弄清楚问题的原因
我google了很多,发现这个主题的现象和我的一样
但是,这个主题表明它可能是一个 JVM 错误并且使用 JDK5 而不是 JDK6。我正在尝试使用 JDK5 看看它是否有帮助
有人遇到过这样的问题吗?是什么导致了这个问题以及如何解决它?
多谢。