[ https://issues.apache.org/jira/browse/AXIS2-5118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13138761#comment-13138761 ]
Hudson commented on AXIS2-5118: ------------------------------- Integrated in axis2-1.6 #141 (See [https://builds.apache.org/job/axis2-1.6/141/]) AXIS2-4524 / AXIS2-4878 / AXIS2-5118 / AXIS2-5119: Merged r1166132 and r1190499 to the 1.6 branch. veithen : Files : * /axis/axis2/java/core/branches/1_6 * /axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java * /axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/classloader/BeanInfoCache.java * /axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/classloader/BeanInfoCachingClassLoader.java * /axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/classloader/JarFileClassLoader.java * /axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/deployment/DeploymentClassLoader.java > In high load scenarios with many threads, the call to > Introspector.getBeanInfo(Class,Class) causes high synchronization resulting > in system stall > ------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: AXIS2-5118 > URL: https://issues.apache.org/jira/browse/AXIS2-5118 > Project: Axis2 > Issue Type: Improvement > Components: adb > Affects Versions: 1.5.4 > Environment: Tomcat 7 with axis2 webservices > Reporter: Ronald Brindl > Assignee: Andreas Veithen > Fix For: 1.6.2, 1.7.0 > > Attachments: BeanInfoCache.java, BeanInfoCacheTest.java, BeanUtil.java > > > I have a high load scenario, where a Clustered Web frontend does Webservice > calls to a Backend Webservices. > There are around 200 Threads handling the webservices. > The CPU load of the machine went to near zero. > Using dynatrace, we realized, that all the calls went through > BeanUtils.getPropertyQnameList, which in turn calls > Introspector.getBeanInfo(beanClass, beanClass.getSuperclass()); > This again calls WebAppClassLoader.loadClass(String name, boolean resolve), > which is synchronized. > I fixed this problem by modifying BeanUtil.getPropertyQnameList so that it > caches BeanInfo objects. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org For additional commands, e-mail: java-dev-h...@axis.apache.org