Hi, Instead of the cache containing the actual service objects it could it contain a org.osgi.util.tracker.ServiceTracker. This would then cache and track the service internally. Each time the service is requested via the registry, #ServiceTracker.getService() could be called. Let me know your thoughts, and if people agree I could try to create a patch.
On Tue, Feb 9, 2016 at 8:05 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: > Hi > > Yeah it was created that way - i guess maybe the though was that osgi > reference lookup is expensive? > > I guess we can reach out to the OSGi folks and see what they say. It > would make the code simpler without a local cache. > > > On Tue, Feb 9, 2016 at 1:31 AM, Tim Jones <t...@mccarthy.co.nz> wrote: > > I have looked at the code in > org.apache.camel.core.osgi.OsgiServiceRegistry > > (camel-core-osgi-2.15.4) and it appears to cache the service references. > > This means that if I uninstall/install the bundle supplying the service > it > > wont automagically 'pick up' the new service. > > > > For what reason(s) are the service references cached? > > > > Note - after modifying OsgiServiceRegistry and removing the cache a new > > service is picked up and behaves more like I would expect in a dynamic > OSGi > > environment. > > > > > > > > > > -- > > View this message in context: > http://camel.465427.n5.nabble.com/OsgiServiceRegistry-caching-service-references-why-tp5777410.html > > Sent from the Camel - Users mailing list archive at Nabble.com. > > > > -- > Claus Ibsen > ----------------- > http://davsclaus.com @davsclaus > Camel in Action 2: https://www.manning.com/ibsen2 >