Jackson, Bruce wrote:
Sorry, I don't think I made myself particularly clear:
I have a bundle "A" which exports a package containing a class
(ObjectFactory.class) with the method:
public static Object getObject(Class clazz);
This method creates a dynamic proxy object to be returned to the caller.
I have bundles B, C, and D which wish to make use of this class, and which will
call it passing an interface, for example:
Foo foo = (Foo) ObjectFactory.getObject(Foo.class);
However, ObjectFactory throws a ClassNotFoundException because Foo.class is not
in the import list for bundle A. Is there a way of allowing this?
Ok, this makes more sense. I would assume that if you tried to make a
proxy to clazz inside ObjectFactory.getObject() that it would use the
ClassLoader of clazz, but apparently it is not. So, perhaps you want to
tell dynamic proxy to use the class loader clazz.getClassLoader() when
it creates the proxy.
-> richard
On 01/08/2008 15:14, "Richard S. Hall" <[EMAIL PROTECTED]> wrote:
Jackson, Bruce wrote:
Here's a question:
I have a utility class in a bundle which will generate a dynamic proxy as a
service to other bundles running inside Felix. Lets call this bundle "A".
Is this possible in Felix/OSGi without having having to explicitly declare
the import of the interface over which A will operate?
Well, you can get access to the interface class definition by calling
Bundle.loadClass() on bundle A without importing from A, so then you
should be able to use that to create the proxy, I would imagine.
-> richard
Thanks
Bruce