You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Hudson (Commented) (JIRA)" <ji...@apache.org> on 2011/10/28 23:17:33 UTC

[jira] [Commented] (AXIS2-5118) In high load scenarios with many threads, the call to Introspector.getBeanInfo(Class,Class) causes high synchronization resulting in system stall

    [ 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-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org