Hi Christopher,

Perhaps you can look into
1. http://njbartlett.name/2010/08/30/osgi-readiness-loading-classes.html -
which talks in details about loading classes dynamically
2.
http://stackoverflow.com/questions/7330011/how-to-set-up-connection-pooling-in-an-osgi-bundle

Also, you may want to look at OSGi JDBC specifications.

Thanks,
Thomas Joseph


On Fri, May 3, 2013 at 12:51 PM, Christopher BROWN <[email protected]> wrote:

> Hello,
>
> General question about context classloaders (as in
> Thread.get/setContextClassLoader), with two use cases:
>
> * I need to create a bundle that has to instantiate a class based on a
> supplied class name (such as a factory object that creates objects of a
> named, where tracking existing instances won't work)
>
> * I need to integrate a bundle (OSGi-fying an existing library for
> example), such as a database connection pool, that stubbornly uses
> Class.forName() in such a way that I'd need to fork it to make it more
> OSGi-friendly.
>
> If the client code (in bundle X) sets the context classloader to it's own
> bundle's classloader (or in the case of the database pool example, bundle
> "D" for "driver bundle"), would that be a good solution to make the library
> "see" the classes?  I suspect not, because it might screw up that library's
> bundle's classloading.
>
> If I'm implementing the above factory example, is there a way I can
> leverage the context classloader with an overloaded variant of
> Class.forName that won't screw up normal classloading.
>
> Obviously, my normal usage revolves around the service registry but the
> "factory" and "legacy integration" cases are sometimes problematic, and I'd
> like to solve that in the most "correct" way possible.
>
> Thanks,
> Christopher
>

Reply via email to