You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Carsten Ziegeler (Resolved) (JIRA)" <ji...@apache.org> on 2012/01/27 13:37:39 UTC

[jira] [Resolved] (FELIX-3321) Improve implementation and reduce load on the service registry

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

Carsten Ziegeler resolved FELIX-3321.
-------------------------------------

    Resolution: Fixed

Committed a complete new implementation for handling the event handlers in revision 1236655

Instead of going to the service registry for each event, we now use a service tracker which keeps track of registered event handlers. For each available handler, a proxy is created which caches information about the handler like the topics, optional filter, timeout handling etc.
Once the first event is send to a handler the proxy gets the service from the registry and keeps it until the service goes away or is modified.
This reduces the load of the service registry to a minimum

At the same time, the proxy allows us to optimize event handling and get rid of the special filter caches for topics.

In addition I've improved the permission handling. If security is disabled, no permission objects are created anymore

The whole thread handling has not changed at all - its the same as before

The new implementation passes the TCK (as before)
                
> Improve implementation and reduce load on the service registry
> --------------------------------------------------------------
>
>                 Key: FELIX-3321
>                 URL: https://issues.apache.org/jira/browse/FELIX-3321
>             Project: Felix
>          Issue Type: Improvement
>          Components: Event Admin
>    Affects Versions: eventadmin-1.2.14
>            Reporter: Carsten Ziegeler
>            Assignee: Carsten Ziegeler
>             Fix For: eventadmin-1.3.0
>
>
> The current implementation queries the service registry for each occuring event, gets the services and then releases them. Especially with a high event volume this creates a very high load on the service registry.

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