OsgiServiceRegistry uses raw ServiceReferences to obtain a Servie Object. Once the Object is fetched it is cached and reused. THis can lead to the state, that cmael uses outdated services (e.g. the service get updated/replaced).
To prevent this, Camel should use ServiceTracker instead, this would make fetching services much more easier and roboust because ServiceTracker will handle all the dynamic parts and can simply be queried for a Service.
The ServiceTraker Objects itself can then be cached and simply closed onContextStop