This is were my confussion lies.

In my example I have 4 units:
  - HG-DataAccess.jar, which has the DOAs (model) and a spring context called 
componentContext.xml defining the "parent" context for Spring, and a 
beenRefFactory.xml that setups up the DataSources and all the hibernate stuff, 
in the root.
  - HG-Service.jar that defines some service util classes (controller)
  - HG-Service.war, which is the WAR stuff, and has a web.xml that uses the 
ContextLoaderListener to bootstrap the Spring stuff.  This is done using an 
Spring context locally to build the requred stuff from the HG-Service.jar and 
the HG-Service.war, as well as defining the parent context as 
classpath:componentContext.xml
  - HG.ear which comprises some combination of the above.

Upon deploy, the WAR kicks off the web.xml, which in tern loads the 
ContextLoaderListener, which then loads the local applicationContext.xml (local 
to the WAR) and the componentContext.xml (which is defined as 
"classpath:componentContext.xml", and should be found).  I have tried putting 
HG-DataAccess.jar in the EAR, in the Server lib, and in the JBoss lib.  No 
matter where I put it, I get the folliowing spewage:
13:00:07,109 INFO  [XmlBeanDefinitionReader] Loading XML bean definitions from 
class path resource [applicationContext.xml]
  | 13:00:07,117 ERROR [ContextLoader] Context initialization failed
  | org.springframework.beans.factory.BeanDefinitionStoreException: IOException 
parsing XML document from class path resource [applicationContext.xml]; nested 
exception is java.io.FileNotFoundException: class path resource 
[applicationContext.xml] cannot be opened because it does not exist
  | Caused by: 
  | java.io.FileNotFoundException: class path resource [applicationContext.xml] 
cannot be opened because it does not exist
  |     at 
org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:135)
  | ...

Hence the confussion.  If the WAR did indeed have visibility to the EAR, server 
lib, and JBoss lib, any one of the above combinations would not throw this 
error since anyone one of them would be visible *from* the WAR, which would 
then find the aformentioned componentContext.xml in the classpath.

When I put the HG-DataAccess.jar into the WAR, it loads just fine, but that 
defeats the whole "shared library" excercise.

My next step, I think, will be to add a dummy service to load the 
HG-DataAccess.jar's Spring context, have it put the classes that need to be 
shared in JNDI, and then pull them out on the WAR side from JNDI.  This is not 
what I consider ideal.

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

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4020738
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to