Richard S. Hall wrote:
Yeah, when I was thinking about it, I could think of an "elegant"
solution. Now you have confirmed that. :-)
Sorry, that should say, "...I could NOT think..."
-> richard
-> richard
Thomas Watson wrote:
Currently we do not do anything. I am considering making a framework
extension bundle fragment that adds a bundle classloader that can be
used on J2SE 1.5. The problem I have is that the core Equinox
framework is compiled against the OSGi EE minimum 1.1 library. I
could add a bundle classloader implementation to the core framework
that extends the existing bundle classloader and overrides the
getResources method. Then at runtime pick the correct implementation
of the bundle classloader depending on the level of the EE. But this
would force me to compile the core framework against J2SE 1.5.
Something I'm not willing to do at this point. For me it is probably
better to stick this extra class (compiled against J2SE 1.5) in a
framework fragment, then runtime can load that version of the bundle
classloader if it is installed and resolved. I would make that
fragment bundle have a required EE of J2SE 1.5 so it could not be
installed on an older VM.
Tom
"Richard S. Hall" <[EMAIL PROTECTED]> 12/14/2006 07:35 AM
Please respond to
felix-dev@incubator.apache.org
To
felix-dev@incubator.apache.org
cc
Subject
Re: bundle.getResources behavior
Thomas Watson wrote:
This is probably because the ClassLoader.getResources method is
final on
J2SE 1.4 and earlier. In J2SE 1.5 they removed the 'final' from
this method. This makes it impossible to implement a "correct"
bundle classloader on J2SE 1.4 and earlier WRT
ClassLoader.getResources. The implementation of the final
ClassLoader.getResources method always
checks
the parent classloader first, there is no way for the OSGi Bundle
class loader to override this behavior. We have the exact same
situation in Equinox.
Ugly.
Tom, so do you have some check in place to do the correct thing when
running on 1.5 as opposed to < 1.5 ? If so, what approach do you use?
-> richard
Tom
"Chris Custine" <[EMAIL PROTECTED]> 12/14/2006 12:37 AM
Please respond to
felix-dev@incubator.apache.org
To
felix-dev@incubator.apache.org
cc
Subject
bundle.getResources behavior
My understanding of the OSGi spec is that Bundle.getResources()
should only
look in the System classpath if the package name is listed in the
org.osgi.framework.bootdelegation property, is that correct? I am
working
on a problem where Felix is returning a resource from a non-bundle jar
(Felix is embedded) that is on the main application classpath. Any
ideas?
Thanks,
Chris