首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RequestFactory请求(AutoBeanCodexImpl.doCoderFor)永远不会完成并使用100%的cpu。

RequestFactory请求(AutoBeanCodexImpl.doCoderFor)永远不会完成并使用100%的cpu。
EN

Stack Overflow用户
提问于 2012-09-13 09:52:38
回答 1查看 288关注 0票数 2

我们在tomcat上部署了一个GWT应用程序,经过几个小时的使用(2个QAs执行一般测试),java进程开始使用所有的CPU,并且应用程序变得缓慢。

我查看了tomcat管理器,发现有许多长期运行的HTTP请求,它们都指向"/gwtRequest“,这是我们的RequestFactory servlet。

之后,我使用了一个线程转储,发现转储中所有可运行的http线程都指向"AutoBeanCodexImpl.doCoderFor()“。

"http-8080-51“守护进程com.google.web.bindery.autobean.shared.impl.AutoBeanCodexImpl.doCoderFor(AutoBeanCodexImpl.java:519) prio=10 tid=0x00007f23d8b81800 nid=0x4981 RUNNABLE 0x00007f23d4285000 java.lang.Thread.State: runnable at java.util.HashMap.get(HashMap.java:303) at prio=10 at com.google.web.bindery.autobean.vm.impl.ProxyAutoBean.setProperty(ProxyAutoBean.java:253) at com.google.web.bindery.autobean.vm.impl.BeanPropertyContext.set(BeanPropertyContext.java:44) at com.google.web.bindery.requestfactory.server.Resolver$PropertyResolver.visitValueProperty(Resolver.java:155) at com.google.web.bindery.autobean.vm.impl.ProxyAutoBean.traverseProperties(ProxyAutoBean.java:289) at com.google.web.bindery.autobean.shared.impl.AbstractAutoBean.traverse(AbstractAutoBean.java:166) at com.google.web.bindery.autobean.shared.impl.AbstractAutoBean.accept(AbstractAutoBean.java:101) at com.google.web.bindery.requestfactory.server.Resolver.resolveClientValue(Resolver.java:414) at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.processInvocationMessages(SimpleRequestProcessor.java:493) at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:235) at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:137) at com.google.web.bindery.requestfactory.server.RequestFactoryServlet.doPost(RequestFactoryServlet.java:133)

有人能给我指点我该看的地方吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-13 10:29:51

啊哎哟!看起来我们使用的是没有任何同步的静态HashMap!我相信这是因为AutoBeans最初被设计为只在浏览器中工作,而浏览器是单线程的。

这是固定在干线上,它应该在几天内发布把它变成2.5.0-rc2。您可以跟踪问题所在状态。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12403658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档