You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2012/11/20 11:59:41 UTC

[jira] [Closed] (FELIX-3569) Improve configured method handling for ComponentFactory instances

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

Felix Meschberger closed FELIX-3569.
------------------------------------


Close after release
                
> Improve configured method handling for ComponentFactory instances
> -----------------------------------------------------------------
>
>                 Key: FELIX-3569
>                 URL: https://issues.apache.org/jira/browse/FELIX-3569
>             Project: Felix
>          Issue Type: Improvement
>          Components: Declarative Services (SCR)
>    Affects Versions:  scr-1.6.0
>            Reporter: Felix Meschberger
>            Assignee: David Jencks
>             Fix For: scr-1.6.2
>
>
> Currently the ComponentFactory.newInstance method creates a new instance of an extension of the ImmediateComponentManager class to create a new component instance.
> Since configured methods to be called on the component (activator and bind methods) are maintained by these ImmediateComponentManager and its related DependencyManager instances, these methods are looked up over and over again for the same component class.
> In a web application using Sling's Rewriter which leverages ComponentFactory components to postprocess requests this amounts to a considerable number of repeated and needless reflection calls. This is particularly nasty in case of methods not existing.
> The same problem in fact also occurrs for components created due to factory configuration, where for each configuration instance a ComponentManager and its associated DependencyManagers is created to lookup the methods.
> We might want to come up with a centralized method accessor functionality which caches these methods and provides them to any ComponentManager and DependencyManager needing them.

--
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