Hi,

Am Mittwoch, den 19.01.2011, 07:01 +0000 schrieb
[email protected]: 
> Just me two cents. 
> When karaf will be capable to deploy multiple artifacts as applications 
> (apache aries applications) or something like that it can use eclipse 
> virgo's par approach.
> Here is the link: 
> http://www.eclipse.org/virgo/documentation/virgo-documentation-2.1.0.RELEASE/docs/virgo-programmer-guide/html/ch04s02.html
> Quotation: The artifacts of a PAR have their exported packages imported by 
> the synthetic context bundle which is used for thread context class 
> loading. So, for example, hibernate will be able to load classes of any of 
> the exported packages of the artifacts in a PAR file using Class.forName() 

Hmm, probably *not* Class.forName() because this exact method is the
cause of the issues with Equinox' Thread Context ClassLoader support
(see [1]).

Always use ClassLoader.loadClass(String)....

Regards
Felix

[1]
http://blog.bjhargrave.com/2007/09/classforname-caches-defined-class-in.html

> (or equivalent). 
> Moreover PAR applications have some more useful features.
> 
> 
> Best Regards,
> Sergey
> 
> 
> 
> Guillaume Nodet <[email protected]> 
> 19.01.2011 00:07
> Please respond to
> [email protected]
> 
> 
> To
> [email protected]
> cc
> 
> Subject
> Re: Can the thread context classloader issue be solved at all?
> 
> 
> 
> 
> 
> 
> As Richard said, there's no easy way to solve the problem.  What we've 
> done
> in Karaf / Servicemix / Camel where needed is that when using a library 
> that
> require a TCCL to be set for finding classes or resources, we set it 
> locally
> before calling that library.
> A cleaner API would be to actually pass a classloader directly 
> (JaxbContext
> does that for example IIRC), but it's basically the same: the caller needs
> to build / find the classloader, so it does not really change anything.
> 
> On Tue, Jan 18, 2011 at 21:35, boday <[email protected]> 
> wrote:
> 
> >
> > This remains a common/widespread issue and a cumbersome work around.  Is
> > there an alternative to this approach?  Has this issue been solved in
> > Felix/Karaf or is it simply not possible to at the container level?
> >
> > I've read about several different approaches to this including Context
> > Finder, Buddy Policy, etc.
> >
> > here are a few references that I found...
> >
> > http://wiki.eclipse.org/Context_Class_Loader_Enhancements (for equinox)
> >
> > 
> http://stackoverflow.com/questions/2198928/better-handling-of-thread-context-classloader-in-osgi
> 
> > (no responses)
> >
> > If there is a more definitive explanation of the issue and options, 
> please
> > point me to it.
> >
> > thanks...
> >
> > -----
> > ___________________________________
> > Ben - Senior Consultant
> > using AMQ 5.3/Smx 4.2/Camel 2.2
> > --
> > View this message in context:
> > 
> http://old.nabble.com/Can-the-thread-context-classloader-issue-be-solved-at-all--tp28260809p30704054.html
> 
> > Sent from the Apache Felix - Users mailing list archive at Nabble.com.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
> >
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to