I've just finished debugging a corner case in karaf where a ServiceListener did not receive events when a matching service was registered. The problem is not very simple: * the service is exposed via a ServiceFactory * the service factory does not belong to the same classloader as the interface of the exposed service * the bundle exporting the service does not have a direct import on the interface exposed
This leads to the service listener not being invoked because Util.isServiceAssignable() returns false. I think it's a problem, but I've no idea how to solve it. The only way I can think about is to actually check the service class returned by the factory instead of the factory, but it may cause side effects, not sure. Thoughts? -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com
