[jboss-user] [Installation, Configuration & DEPLOYMENT] - Re: Classloading problem (sar within ear)

lucdew do-not-reply at jboss.com
Tue Aug 7 06:20:53 EDT 2007


i have tried to debug the issues with classloader but one 's still remaining.

My application is packaged like this:

--> spring.jar
--> mysar.sar
--> myjar.jar

I declared spring.jar and myjar.jar in application.xml as Java modules (ex: spring.jar)

In mysar.sar i displayed information of the current classloader and here's what i get:
11:58:54,765 INFO  [DeployerListenerService] Current classloader = org.jboss.mx.
  | loading.UnifiedClassLoader3 at 10d16b{ url=file:/D:/applications/jboss-4.0.
  | 5.GA/server/default/deploy/myapp.ear/ ,addedOrder=40}

and if i execute the following code:
Enumeration<URL> resourcesEnum = this.getClass().getClassLoader().getResources("beanRefContext.xml");
the classloader find the resource beanRefContext.xml which is packaged in myjar.jar. It works as expected.

The problem is Spring library executes almost the same code in the PathMatchingResourcePatternResolver class it executes:
Enumeration resourceUrls = getClassLoader().getResources(path);
where path is "beanRefContext.xml"
and the getClassLoader() returned in debug mode has a path attribute of:
and therefore is unable to see the beanRefContext.xml file packaged in my ear.

Note that i  configured in my ear a loader repository :
  |       test.com:loader=myapp
  | </loader-repository>

I don't understand why the classloader retrieved in Spring is the one associated with the universalrepository3 ? and not the HeirarchicalLoaderRepository3 of my ear???

I checked the CLASSPATH and my Jboss installation to see if there were Spring classes elsewhere and no the only Spring classes are in the spring.jar of myapp.ear.

Please i need help.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4071519#4071519

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4071519

More information about the jboss-user mailing list