struts2+spring2 开发网站,当并发高时老是阻塞?

wensky222 2009-01-06 10:36:11
当200个并发时非常严重阻塞,用jprofile查看阻塞的情况为下面:
struts2的action在获得 业务bean时,都让spring2注入,我看见下面的信息,像是创建业务bean时,spring导致阻塞线程,spring在高并发时怎么处理这样的问题,该怎么注意呢?

org.springframework.beans.factory.config.AutowireCapableBeanFactory.autowireBeanProperties(java.lang.Object, int, boolean)
com.opensymphony.xwork2.spring.SpringObjectFactory.autoWireBean(java.lang.Object, org.springframework.beans.factory.config.AutowireCapableBeanFactory)
com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(java.lang.Class, java.util.Map)
com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(java.lang.String, java.util.Map, boolean)
com.opensymphony.xwork2.ObjectFactory.buildBean(java.lang.String, java.util.Map)
com.opensymphony.xwork2.ObjectFactory.buildAction(java.lang.String, java.lang.String, com.opensymphony.xwork2.config.entities.ActionConfig, java.util.Map)
com.opensymphony.xwork2.DefaultActionInvocation.createAction(java.util.Map)
com.opensymphony.xwork2.DefaultActionInvocation.init()
com.opensymphony.xwork2.DefaultActionInvocation.access$000(com.opensymphony.xwork2.DefaultActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling()
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(java.lang.String, com.opensymphony.xwork2.util.profiling.UtilTimerStack$ProfilingBlock)
com.opensymphony.xwork2.DefaultActionInvocation.<init>(com.opensymphony.xwork2.ObjectFactory, com.opensymphony.xwork2.UnknownHandler, com.opensymphony.xwork2.ActionProxy, java.util.Map, boolean)
com.opensymphony.xwork2.DefaultActionInvocation.<init>(com.opensymphony.xwork2.ObjectFactory, com.opensymphony.xwork2.UnknownHandler, com.opensymphony.xwork2.ActionProxy, java.util.Map)
com.opensymphony.xwork2.DefaultActionProxy.prepare()
javax.servlet.FilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
com.lvye.base.action.LoginSessionFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run()


org.springframework.beans.factory.config.AutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(java.lang.Object, java.lang.String)
com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(java.lang.Class, java.util.Map)
com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(java.lang.String, java.util.Map, boolean)
com.opensymphony.xwork2.ObjectFactory.buildBean(java.lang.String, java.util.Map)
com.opensymphony.xwork2.ObjectFactory.buildAction(java.lang.String, java.lang.String, com.opensymphony.xwork2.config.entities.ActionConfig, java.util.Map)
com.opensymphony.xwork2.DefaultActionInvocation.createAction(java.util.Map)
com.opensymphony.xwork2.DefaultActionInvocation.init()
com.opensymphony.xwork2.DefaultActionInvocation.access$000(com.opensymphony.xwork2.DefaultActionInvocation)
com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling()
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(java.lang.String, com.opensymphony.xwork2.util.profiling.UtilTimerStack$ProfilingBlock)
com.opensymphony.xwork2.DefaultActionInvocation.<init>(com.opensymphony.xwork2.ObjectFactory, com.opensymphony.xwork2.UnknownHandler, com.opensymphony.xwork2.ActionProxy, java.util.Map, boolean)
com.opensymphony.xwork2.DefaultActionInvocation.<init>(com.opensymphony.xwork2.ObjectFactory, com.opensymphony.xwork2.UnknownHandler, com.opensymphony.xwork2.ActionProxy, java.util.Map)
com.opensymphony.xwork2.DefaultActionProxy.prepare()
javax.servlet.FilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
com.lvye.base.action.LoginSessionFilter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run()
...全文
235 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧