felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Felix Meschberger (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FELIX-3569) Improve configured method handling for ComponentFactory instances
Date Fri, 22 Jun 2012 20:08:42 GMT
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


View raw message