Felix Meschberger created FELIX-3569:
----------------------------------------

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


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: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to