do you have a good test case for us, cause this shouldn't happen

   public Enumeration findResources(String name) throws IOException {
       if (log.isDebugEnabled())
           log.debug("    findResources(" + name + ")");
       Vector result = new Vector();
       int jarFilesLength = jarFiles.length;  -->this is line 946

the variable jarFiles is instantiated to (new JarFile[0]) when the webappclassloader is created.
When it is stopped, jarFiles=null, becomes null.

So your app is trying to load a class from the webapp after the webapp class loader has been stopped. Even if jarFiles got reset back to (new JarFiles[0]) upon stop(), you would get a ClassNotFoundException as there is nothing to load from.

I'd be interested to see if this was reproducable, if so, open a defect and attach the test case.

Filip


MW Janssen wrote:
Hi,

Tomcat version 5.5.7 and axis 1.3...

regards,

Maarten
-----Oorspronkelijk bericht-----
Van: Filip Hanik - Dev Lists [mailto:[EMAIL PROTECTED] Verzonden: vrijdag 10 maart 2006 17:37
Aan: Tomcat Users List
Onderwerp: Re: classloader problem

it would help if you gave us your Tomcat and your axis versions

Filip


MW Janssen wrote:
Hi all,
Some strange thing. I am using axis SOAP jars. When I start Tomcat my SOAP messages are ok..when I restart the webapps via the Tomcat Manager I get a null pointer exception, see below. After restart Tomcat it works ok. So seems wrong with classloading but why only when I restart via the tomcat manager? Someone any idea?? 15:06:08,375 ERROR - java.lang.NullPointerException at org.apache.catalina.loader.WebappClassLoader.findResources(WebappClass
Loader
.java:946)
 at java.lang.ClassLoader.getResources(ClassLoader.java:1015)
 at
org.apache.commons.discovery.jdk.JDK12Hooks.getResources(JDK12Hooks.ja
va:150
)
 at
org.apache.commons.discovery.resource.DiscoverResources$1.getNextResou
rces(D
iscoverResources.java:153)
 at
org.apache.commons.discovery.resource.DiscoverResources$1.getNextResou
rce(Di
scoverResources.java:129)
 at
org.apache.commons.discovery.resource.DiscoverResources$1.hasNext(Disc
overRe
sources.java:116)
 at
org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getN
extCla
ssNames(DiscoverNamesInFile.java:186)
 at
org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getN
extCla
ssName(DiscoverNamesInFile.java:170)
 at
org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.hasN
ext(Di
scoverNamesInFile.java:157)
 at
org.apache.commons.discovery.resource.names.NameDiscoverers$1.getNextI
terato
r(NameDiscoverers.java:143)
 at
org.apache.commons.discovery.resource.names.NameDiscoverers$1.hasNext(
NameDi
scoverers.java:126)
 at
org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImp
l$1.ge
tNextResource(ResourceClassDiscoverImpl.java:159)
 at
org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImp
l$1.ha
sNext(ResourceClassDiscoverImpl.java:147)
 at
org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(E
ngineC
onfigurationFactoryFinder.java:120)
at java.security.AccessController.doPrivileged(Native Method) at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFact
ory(En
gineConfigurationFactoryFinder.java:113)
 at
org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFact
ory(En
gineConfigurationFactoryFinder.java:160)
at org.apache.axis.client.Service.getEngineConfiguration(Service.java:813
)  at org.apache.axis.client.Service.getAxisClient(Service.java:104)
 at org.apache.axis.client.Service.<init>(Service.java:113)
 at org.apache.axis.client.Call.<init>(Call.java:344)
at org.apache.axis.soap.SOAPConnectionImpl.call(SOAPConnectionImpl.java:7
1)  at nl.iyellow.util.GntelSOAP.runFunction(GntelSOAP.java:247)
 at nl.iyellow.util.GntelSOAP.doGet(GntelSOAP.java:87)
 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(Appli
cation
FilterChain.java:252)
 at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
lterCh
ain.java:173)
 at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
lve.ja
va:214)
 at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
lve.ja
va:178)
 at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
va:126
)
 at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
va:105
)
 at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
e.java
:107)
 at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
:148)
 at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
825)
 at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
sConne
ction(Http11Protocol.java:738)
 at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoi
nt.jav
a:526)
 at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFoll
owerWo
rkerThread.java:80)
 at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPo
ol.jav
a:684)
 at java.lang.Thread.run(Thread.java:595)



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 268.2.1/278 - Release Date: 9-3-2006


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to