[ http://issues.apache.org/jira/browse/AXIS2-400?page=all ]
     
Deepal Jayasinghe resolved AXIS2-400:
-------------------------------------

    Fix Version: 0.95
     Resolution: Won't Fix

Hmmm , this is by Axis2 design , meaning to have service and module isolation 
(http://www.developer.com/open/article.php/10930_3589126_2  item 7)

I know I have answer this question several time in the mailing list :) 

In Axis2 when you deploy a service its own classloader , and parent of that 
class loader will be TCCL. And the service class loader said to be isolated , 
so resources in service class loader can not access from some other class 
loader (not even from TCCL) . 

In the case of Spring what the spring trying to do is to load resources from 
TCCL not from the Service class loader. So when spring resources are in service 
aar file then TCCL can not access those resources. 

So I dont think we can not resolve this problem , and if some one want to have 
Spring support he has to do Spring resource into WEB-INF/lib in the case of 
servlet or to class path.


> Classloader doesn't work with Spring inside an AAR
> --------------------------------------------------
>
>          Key: AXIS2-400
>          URL: http://issues.apache.org/jira/browse/AXIS2-400
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug
>   Components: core
>     Versions: 0.94
>  Environment: Tomcat 5.5, Axis 0.94, Windows XP, Java 5
>     Reporter: Inigo Surguy
>      Fix For: 0.95
>  Attachments: ClasspathTest.java, MyBean.java, testClasspath.aar
>
> The classloader used for AAR doesn't work with Spring - when I put Spring 
> inside the lib directory of the AAR, it's not able to access its 
> applicationContext.xml. If I move the applicationContext to the 
> WEB-INF/classes directory, then Spring is able to find it, but not to load 
> the classes defined in it from the AAR.
> However, I am able to access files in the AAR from within my own code 
> directly inside the .AAR.
> When I initially tried to reproduce this, I thought I wasn't able to access 
> the contents of the .AAR at all - but I think this was because I was 
> connecting to Tomcat via a debugger and running the "getResource" code in the 
> context of the debug session, which seems to have given different results 
> than when I call getResource from code.
> This sounds like the behaviour I'd expect if Spring was in the Axis lib 
> directory - but it isn't.
> --
> Error:
>       org.springframework.beans.factory.BeanDefinitionStoreException: Error 
> registering bean with name 'myBean' defined in class path resource 
> [testApplicationContext.xml]: Bean class [classpathtest.MyBean] not found; 
> nested exception is java.lang.ClassNotFoundException: classpathtest.MyBean
> Full error:
> ?
>       <soapenv:Envelope>
> <soapenv:Header/>
> ?
>       <soapenv:Body>
> ?
>       <soapenv:Fault>
> <faultcode>Client</faultcode>
> ?
>       <faultstring>
> IOException parsing XML document from class path resource 
> [testApplicationContext.xml]; nested exception is 
> java.io.FileNotFoundException: class path resource 
> [testApplicationContext.xml] cannot be opened because it does not exist; 
> nested exception is: 
>       org.springframework.beans.factory.BeanDefinitionStoreException: 
> IOException parsing XML document from class path resource 
> [testApplicationContext.xml]; nested exception is 
> java.io.FileNotFoundException: class path resource 
> [testApplicationContext.xml] cannot be opened because it does not exist
> </faultstring>
> <faultactor>http://myAxisServer/role/default</faultactor>
> ?
>       <detail>
> ?
>       <soapenv:Exception>
> org.apache.axis2.AxisFault: IOException parsing XML document from class path 
> resource [testApplicationContext.xml]; nested exception is 
> java.io.FileNotFoundException: class path resource 
> [testApplicationContext.xml] cannot be opened because it does not exist; 
> nested exception is: 
>       org.springframework.beans.factory.BeanDefinitionStoreException: 
> IOException parsing XML document from class path resource 
> [testApplicationContext.xml]; nested exception is 
> java.io.FileNotFoundException: class path resource 
> [testApplicationContext.xml] cannot be opened because it does not exist
>       at org.apache.axis2.AxisFault.makeFault(AxisFault.java:254)
>       at 
> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:118)
>       at 
> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:37)
>       at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:331)
>       at 
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPGetRequest(HTTPTransportUtils.java:147)
>       at 
> org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:103)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>       at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
>       at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
>       at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>       at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>       at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>       at java.lang.Thread.run(Thread.java:595)
> Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: 
> IOException parsing XML document from class path resource 
> [testApplicationContext.xml]; nested exception is 
> java.io.FileNotFoundException: class path resource 
> [testApplicationContext.xml] cannot be opened because it does not exist
>       at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:180)
>       at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148)
>       at 
> org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:68)
>       at 
> org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:56)
>       at classpathtest.ClasspathTest.testSpring(ClasspathTest.java:20)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at 
> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:97)
>       ... 20 more
> Caused by: java.io.FileNotFoundException: class path resource 
> [testApplicationContext.xml] cannot be opened because it does not exist
>       at 
> org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:137)
>       at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:167)
>       ... 29 more
> </soapenv:Exception>
> </detail>
> </soapenv:Fault>
> </soapenv:Body>
> </soapenv:Envelope>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to