Pelladi Gabor created OGNL-224:
----------------------------------

             Summary: Performance - Locking and performance problem with 
OgnlRuntime.findParameterTypes
                 Key: OGNL-224
                 URL: https://issues.apache.org/jira/browse/OGNL-224
             Project: Commons OGNL
          Issue Type: Improvement
          Components: Core Runtime
    Affects Versions: 3.0
            Reporter: Pelladi Gabor
            Priority: Minor


I am using struts2 and under heavy load (around 100 threads) many threads are 
in BLOCKED state because of OgnlRuntime.findParameterTypes(). The actions we 
use have a generic superclass like:
public class PersonalCaptureAction extends DataCaptureAction<PersonalDTO>
OGNL handles this very bad, it enters
synchronized (_genericMethodParameterTypesCache)
all the time, at every property access of the Action. A possible workaround is 
to introduce another layer of superclass that is not generic.

I know that in current OGNL trunk (4.0-SNAPSHOT) caching has been rewritten, 
but Struts2 is using 3.0.5, and maybe it could be fixed as 3.0.6 in the git 
tree I found:
https://github.com/jkuhnert/ognl

I will attach a patch and a testcase.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to