2 gwall1 gwall1 于 2017.08.31 15:43 提问

JSF CPU 100% 请求数据过多导致线程死掉

各位大神, 公司老项目,使用的jsf 1.1版本. 界面查询很多数据时候,线程会死掉.是偶尔性的. 请问有么有人知道? 我反编译源码是有个循环.估计死在里面了:
Node getNodeByAnchor(String name)
{
for (Anchor found = this.anchorList; found != null; found = found.next)
{
if (name.equalsIgnoreCase(found.name))
{
break;
}
}

if (found != null)
{
  return found.node;
}

return null;

}

抓取的tdump日志:

"http-bio-8080-exec-31" daemon prio=6 tid=0x000000001cf53800 nid=0x488 runnable [0x0000000024c0d000]
java.lang.Thread.State: RUNNABLE
at org.ajax4jsf.org.w3c.tidy.TagTable.getNodeByAnchor(TagTable.java:1066)
at org.ajax4jsf.org.w3c.tidy.AttrCheckImpl$CheckId.check(AttrCheckImpl.java:828)
at org.ajax4jsf.org.w3c.tidy.AttVal.checkAttribute(AttVal.java:286)
at org.ajax4jsf.org.w3c.tidy.Node.checkAttributes(Node.java:403)
at org.ajax4jsf.org.w3c.tidy.Lexer.getToken(Lexer.java:2501)
at org.ajax4jsf.org.w3c.tidy.ParserImpl$ParseBlock.parse(ParserImpl.java:2076)
at org.ajax4jsf.org.w3c.tidy.ParserImpl.parseTag(ParserImpl.java:224)
at org.ajax4jsf.org.w3c.tidy.ParserImpl$ParseRow.parse(ParserImpl.java:3057)
at org.ajax4jsf.org.w3c.tidy.ParserImpl.parseTag(ParserImpl.java:224)
at org.ajax4jsf.org.w3c.tidy.ParserImpl$ParseRowGroup.parse(ParserImpl.java:2906)
at org.ajax4jsf.org.w3c.tidy.ParserImpl.parseTag(ParserImpl.java:224)
at org.ajax4jsf.org.w3c.tidy.ParserImpl$ParseTableTag.parse(ParserImpl.java:2650)
at org.ajax4jsf.org.w3c.tidy.ParserImpl.parseTag(ParserImpl.java:224)
at org.ajax4jsf.org.w3c.tidy.ParserImpl$ParseBlock.parse(ParserImpl.java:2488)
at org.ajax4jsf.org.w3c.tidy.ParserImpl.parseTag(ParserImpl.java:224)
at org.ajax4jsf.org.w3c.tidy.ParserImpl$ParseInline.parse(ParserImpl.java:1608)
at org.ajax4jsf.org.w3c.tidy.ParserImpl.parseTag(ParserImpl.java:224)
at org.ajax4jsf.org.w3c.tidy.ParserImpl$ParseBlock.parse(ParserImpl.java:2488)
at org.ajax4jsf.org.w3c.tidy.ParserImpl.parseTag(ParserImpl.java:224)
at org.ajax4jsf.org.w3c.tidy.ParserImpl$ParseBody.parse(ParserImpl.java:999)
at org.ajax4jsf.org.w3c.tidy.ParserImpl.parseTag(ParserImpl.java:224)
at org.ajax4jsf.org.w3c.tidy.ParserImpl$ParseHTML.parse(ParserImpl.java:507)
at org.ajax4jsf.org.w3c.tidy.ParserImpl.parseDocument(ParserImpl.java:3430)
at org.ajax4jsf.org.w3c.tidy.Tidy.parse(Tidy.java:384)
at org.ajax4jsf.org.w3c.tidy.Tidy.parse(Tidy.java:282)
at org.ajax4jsf.org.w3c.tidy.Tidy.parseDOM(Tidy.java:625)
at org.ajax4jsf.framework.ajax.xmlfilter.tidy.TidyParser.parseHtmlByTidy(TidyParser.java:98)
at org.ajax4jsf.framework.ajax.xmlfilter.tidy.TidyParser.parseHtml(TidyParser.java:203)
at org.ajax4jsf.framework.ajax.xmlfilter.FilterServletResponseWrapper.parseContent(FilterServletResponseWrapper.java:613)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:271)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

Csdn user default icon
上传中...
上传图片
插入图片