[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[equinox-dev] getResources in Servlet.init() - returns a resource twice
|
The following code snippet is used to get a single resource URL that is packaged in the bundle jar. This code returns a single URL when invoked from BundleAcivator.activate() but returns two URLs when invoked from Servlet.init(). I printed out the classloader classes from these two invocations. I attached the test bundle to duplicate the issue. The BundleProxyClassLoader in servlet case is returning one through parent loader and one for 'this' loader. This seems like bug but I could be wrong. I am using the 3.2 release bundles for this test
ClassLoader cl = Thread.currentThread().getContextClassLoader();
Enumeration urls =
cl.getResources("META-INF/helloworld.txt");
System.out.println("Resources in bundle with classloader :" + cl);
while(urls.hasMoreElements()) {
URL url = ""> System.out.println(url);
}
==> Output from BundleAcivator.activate()
Resources in bundle with classloader :org.eclipse.core.runtime.internal.adaptor.ContextFinder@17494c8
bundleresource://17/META-INF/helloworld.txt
==> Output from Servlet.init()
Resources in servlet with classloader :org.eclipse.equinox.servlet.bridge.http.internal.ServletRegistration$BundleProxyClassLoader@c0f1ec
bundleresource://17/META-INF/helloworld.txt
bundleresource://17/META-INF/helloworld.txt
Thanks,
-Ravi R
Attachment:
helloworld_1.0.0.jar
Description: Binary data