[
https://issues.apache.org/jira/browse/WICKET-2737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834859#action_12834859
]
Nikita Tovstoles commented on WICKET-2737:
------------------------------------------
If bean name resolution is now responsibility of
AnnotProxyFieldValueFactory.java shouldn't SpringBeanLocator be changed to:
- assert that 'beanName' is never null
- getBeanName() be changed to return this.beanName
- SpringBeanLocator.getBeanNameForClass() be eliminated?
Otherwise, you still have SpringBeanLocator.hashCode() calling
getNameForClass() indirectly, which is really dangerous because it can happen
in a variety of situations that are difficult to test for.
> reduce number of SpringBeanLocator#getBeanNameOfClass calls.
> -------------------------------------------------------------
>
> Key: WICKET-2737
> URL: https://issues.apache.org/jira/browse/WICKET-2737
> Project: Wicket
> Issue Type: Improvement
> Components: wicket-spring
> Affects Versions: 1.4.3
> Reporter: Zbigniew RuchaĆa
> Assignee: Juergen Donnerstag
> Fix For: 1.4.7, 1.5-M1
>
> Attachments: AnnotProxyFieldValueFactory.java
>
>
> In our application we use @SpringBean *without* name given extensively. It
> causes performance problems due to the fact that each time SpringBeanLocator
> uses its #getBeanNameOfClass method to look up a bean name within
> aplicationContext. Our inhouse improvement for this is to cache bean name for
> once localized bean in AnnotProxyFieldValueFactory. An instance of
> SpringBeanLocator gest always beanName in constructor. I attached the source
> code. It speeded up our app about 40%.
> The attached file provides improvement for 1.4.3 version.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.