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
>

Reply via email to