osgi:service JNDI damping performs like a one legged dog under an anesthetic
----------------------------------------------------------------------------
Key: ARIES-338
URL: https://issues.apache.org/jira/browse/ARIES-338
Project: Aries
Issue Type: Bug
Components: JNDI
Affects Versions: 0.1
Reporter: Alasdair Nottingham
Assignee: Alasdair Nottingham
Fix For: 0.2
I updated some of my code to use the JNDI implementation of osgi:service which
does the service damping and my application saw a 3x slowdown (i.e. it took 3
second to do something it used to take 1 seconds).
It appears the problem is that every time a lookup is performed a new
java.lang.reflect.Proxy class is generated and doing this over and over when
the same service is looked up is expensive. Instead of doing this we can
generate a proxy once per client BundleContext per service and cache it between
lookups. The cache needs to be managed, so if the client goes away we clear the
cache and if the service goes away we purge it too.
I have written the code and shown that it improves performance so I'm raising
this JIRA so I can integrate the performance fix.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.