[ 
https://issues.apache.org/jira/browse/WICKET-2344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Juergen Donnerstag resolved WICKET-2344.
----------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.5-M1
                   1.4.3
         Assignee: Juergen Donnerstag

fixed

> Performance improvement: more efficient AnnotProxyFieldValueFactory cache
> -------------------------------------------------------------------------
>
>                 Key: WICKET-2344
>                 URL: https://issues.apache.org/jira/browse/WICKET-2344
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket-spring
>            Reporter: Arnout Engelen
>            Assignee: Juergen Donnerstag
>             Fix For: 1.4.3, 1.5-M1
>
>
> AnnotProxyFieldValueFactory holds a cache of proxies for singleton beans. The 
> cache is checked like this:
>   // only check the cache if the bean is a singleton
>   if (locator.isSingletonBean() && cache.containsKey(locator)) {
>     return cache.get(locator);
>   }
> However, when the bean is referenced by type rather than by name (the default 
> and common case), 'locator.isSingletonBean()' is a quite expensive operation, 
> because it looks up the bean name by type (it indirectly calls 
> BeanFactoryUtils.beanNamesForTypeIncludingAncestors()).
> I think the call to locator.isSingletonBean() should either be omitted 
> entirely (the cache only contains singleton proxies anyway), or omitted when 
> annot.name() is blank.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to