You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by A srivani <sr...@gmail.com> on 2006/05/02 08:53:40 UTC

Fwd: classloader problem

---------- Forwarded message ----------
From: A srivani <sr...@gmail.com>
Date: May 2, 2006 12:16 PM
Subject: Re: classloader problem
To: devlists@hanik.com

 Hi there,

http://www.mail-archive.com/users@tomcat.apache.org/msg07773.html

I am facing similar problem as in above link.

In my webapplication axis is used to connect webservices. If the axis.jar is
in WEB-INF/lib I can reload my app and everything is fine.
But when I moved axis.jar to CATALINA_HOME/shared/lib to shrink the size of
my war file I get a NullPointerException (stack trace follows) when the
application has been reloaded and I try to connect to a service. The
application runs fine until I try to connect to a webservice. What could be
the reason for this?

I surfed the forums related to the problem and found that some are
suggesting to make reloadable=true in server.xml.But it is not possible for
me.



Thanks in advance.....
A Srivani.



*java.lang.NullPointerException
        at
org.apache.catalina.loader.WebappClassLoader.findResources(WebappClassLo
ader.java:956)
*        at java.lang.ClassLoader.getResources(ClassLoader.java :1015)
        at
org.apache.commons.discovery.jdk.JDK12Hooks.getResources(JDK12Hooks.java
:150)
        at
org.apache.commons.discovery.resource.DiscoverResources$1.getNextResourc
es(DiscoverResources.java :153)
        at
org.apache.commons.discovery.resource.DiscoverResources$1.getNextResourc
e(DiscoverResources.java:129)
        at
org.apache.commons.discovery.resource.DiscoverResources$1.hasNext(Discov
erResources.java:116)
        at
org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNex
tClassNames(DiscoverNamesInFile.java:
186)
        at
org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNex
tClassName(DiscoverNamesInFile.java:1
70)
        at
org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.hasNex
t(DiscoverNamesInFile.java:157)
        at
org.apache.commons.discovery.resource.names.NameDiscoverers$1.getNextIte
rator(NameDiscoverers.java:143)
        at
org.apache.commons.discovery.resource.names.NameDiscoverers$1.hasNext(Na
meDiscoverers.java:126)
        at
org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$
1.getNextResource(ResourceClassDiscov
erImpl.java:159)
        at
org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$
1.hasNext(ResourceClassDiscoverImpl.j
ava:147)
        at
org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(Eng
ineConfigurationFactoryFinder.java:12
0)
        at java.security.AccessController.doPrivileged(Native Method)
        at
org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactor
y(EngineConfigurationFactoryFinder.ja
va:113)
        at
org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactor
y(EngineConfigurationFactoryFinder.ja
va:160)
        at
org.apache.axis.client.Service.getEngineConfiguration (Service.java:812)
        at
org.apache.axis.client.Service.getAxisClient(Service.java:103)
        at org.apache.axis.client.Service.<init>(Service.java:112)
        at

Re: classloader problem

Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
Hi A Srivani,
I this is not a problem with tomcat, instead it is a problem with your 
deployment.
You are putting commons-discovery.jar, and this JAR file is storing a 
reference to the webapp classloader.
When the app is reloaded, the old webapp classloader gets invalidated, 
and a new one is created.
but since you put the the JAR in shared/lib that instance doesn't get 
reloaded, and is now holding a reference to the wrong classloader.

This is simple a deployment problem, the correct way to deploy it is to 
have it in WEB-INF/lib or fix the commons-discovery code.

Filip


A srivani wrote:
> Hi Maarten,
>
> Thanks for your reply. I tried by keeping axis.jar in common/lib 
> directory
> of tomcat, but it didn't work for me. BTW, in my jdk library there is no
> axis.jar. Could you please suggest me any other way of solving the 
> problem.
>
> Thanks,
> A Srivani.
>
>
> On 5/2/06, MW Janssen <ma...@bedrijven.nl> wrote:
>>
>> he,
>>
>> i had the same problem...what i did was removing axis.jar from my jdk
>> libary
>> directory and put it just in common/lib directory of tomcat (not in
>> WE-INF-lib). SO in fact its there once on my server, and then it works
>> great.
>>
>> Maarten
>>
>>
>>
>> -----Oorspronkelijk bericht-----
>> Van: A srivani [mailto:srivania12@gmail.com]
>> Verzonden: dinsdag 2 mei 2006 8:54
>> Aan: users@tomcat.apache.org
>> Onderwerp: Fwd: classloader problem
>>
>> ---------- Forwarded message ----------
>> From: A srivani <sr...@gmail.com>
>> Date: May 2, 2006 12:16 PM
>> Subject: Re: classloader problem
>> To: devlists@hanik.com
>>
>> Hi there,
>>
>> http://www.mail-archive.com/users@tomcat.apache.org/msg07773.html
>>
>> I am facing similar problem as in above link.
>>
>> In my webapplication axis is used to connect webservices. If the 
>> axis.jaris
>> in WEB-INF/lib I can reload my app and everything is fine.
>> But when I moved axis.jar to CATALINA_HOME/shared/lib to shrink the size
>> of
>> my war file I get a NullPointerException (stack trace follows) when the
>> application has been reloaded and I try to connect to a service. The
>> application runs fine until I try to connect to a webservice. What could
>> be
>> the reason for this?
>>
>> I surfed the forums related to the problem and found that some are
>> suggesting to make reloadable=true in server.xml.But it is not possible
>> for
>> me.
>>
>>
>>
>> Thanks in advance.....
>> A Srivani.
>>
>>
>>
>> *java.lang.NullPointerException
>>        at
>> org.apache.catalina.loader.WebappClassLoader.findResources(WebappClassLo
>> ader.java:956)
>> *        at java.lang.ClassLoader.getResources(ClassLoader.java :1015)
>>        at
>> org.apache.commons.discovery.jdk.JDK12Hooks.getResources(JDK12Hooks.java
>> :150)
>>        at
>> org.apache.commons.discovery.resource.DiscoverResources$1.getNextResourc
>> es(DiscoverResources.java :153)
>>        at
>> org.apache.commons.discovery.resource.DiscoverResources$1.getNextResourc
>> e(DiscoverResources.java:129)
>>        at
>> org.apache.commons.discovery.resource.DiscoverResources$1.hasNext(Discov
>> erResources.java:116)
>>        at
>> org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNex
>> tClassNames(DiscoverNamesInFile.java:
>> 186)
>>        at
>> org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNex
>> tClassName(DiscoverNamesInFile.java:1
>> 70)
>>        at
>> org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.hasNex
>> t(DiscoverNamesInFile.java:157)
>>        at
>> org.apache.commons.discovery.resource.names.NameDiscoverers$1.getNextIte
>> rator(NameDiscoverers.java:143)
>>        at
>> org.apache.commons.discovery.resource.names.NameDiscoverers$1.hasNext(Na
>> meDiscoverers.java:126)
>>        at
>> org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$
>> 1.getNextResource(ResourceClassDiscov
>> erImpl.java:159)
>>        at
>> org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$
>> 1.hasNext(ResourceClassDiscoverImpl.j
>> ava:147)
>>        at
>> org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(Eng
>> ineConfigurationFactoryFinder.java:12
>> 0)
>>        at java.security.AccessController.doPrivileged(Native Method)
>>        at
>> org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactor
>> y(EngineConfigurationFactoryFinder.ja
>> va:113)
>>        at
>> org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactor
>> y(EngineConfigurationFactoryFinder.ja
>> va:160)
>>        at
>> org.apache.axis.client.Service.getEngineConfiguration (Service.java:812)
>>        at
>> org.apache.axis.client.Service.getAxisClient(Service.java:103)
>>        at org.apache.axis.client.Service.<init>(Service.java:112)
>>        at
>>
>> -- 
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.1.385 / Virus Database: 268.5.1/328 - Release Date: 1-5-2006
>>
>>
>> -- 
>> No virus found in this outgoing message.
>> Checked by AVG Free Edition.
>> Version: 7.1.385 / Virus Database: 268.5.1/328 - Release Date: 1-5-2006
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: classloader problem

Posted by A srivani <sr...@gmail.com>.
Hi Maarten,

Thanks for your reply. I tried by keeping axis.jar in common/lib directory
of tomcat, but it didn't work for me. BTW, in my jdk library there is no
axis.jar. Could you please suggest me any other way of solving the problem.

Thanks,
A Srivani.


On 5/2/06, MW Janssen <ma...@bedrijven.nl> wrote:
>
> he,
>
> i had the same problem...what i did was removing axis.jar from my jdk
> libary
> directory and put it just in common/lib directory of tomcat (not in
> WE-INF-lib). SO in fact its there once on my server, and then it works
> great.
>
> Maarten
>
>
>
> -----Oorspronkelijk bericht-----
> Van: A srivani [mailto:srivania12@gmail.com]
> Verzonden: dinsdag 2 mei 2006 8:54
> Aan: users@tomcat.apache.org
> Onderwerp: Fwd: classloader problem
>
> ---------- Forwarded message ----------
> From: A srivani <sr...@gmail.com>
> Date: May 2, 2006 12:16 PM
> Subject: Re: classloader problem
> To: devlists@hanik.com
>
> Hi there,
>
> http://www.mail-archive.com/users@tomcat.apache.org/msg07773.html
>
> I am facing similar problem as in above link.
>
> In my webapplication axis is used to connect webservices. If the axis.jaris
> in WEB-INF/lib I can reload my app and everything is fine.
> But when I moved axis.jar to CATALINA_HOME/shared/lib to shrink the size
> of
> my war file I get a NullPointerException (stack trace follows) when the
> application has been reloaded and I try to connect to a service. The
> application runs fine until I try to connect to a webservice. What could
> be
> the reason for this?
>
> I surfed the forums related to the problem and found that some are
> suggesting to make reloadable=true in server.xml.But it is not possible
> for
> me.
>
>
>
> Thanks in advance.....
> A Srivani.
>
>
>
> *java.lang.NullPointerException
>        at
> org.apache.catalina.loader.WebappClassLoader.findResources(WebappClassLo
> ader.java:956)
> *        at java.lang.ClassLoader.getResources(ClassLoader.java :1015)
>        at
> org.apache.commons.discovery.jdk.JDK12Hooks.getResources(JDK12Hooks.java
> :150)
>        at
> org.apache.commons.discovery.resource.DiscoverResources$1.getNextResourc
> es(DiscoverResources.java :153)
>        at
> org.apache.commons.discovery.resource.DiscoverResources$1.getNextResourc
> e(DiscoverResources.java:129)
>        at
> org.apache.commons.discovery.resource.DiscoverResources$1.hasNext(Discov
> erResources.java:116)
>        at
> org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNex
> tClassNames(DiscoverNamesInFile.java:
> 186)
>        at
> org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNex
> tClassName(DiscoverNamesInFile.java:1
> 70)
>        at
> org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.hasNex
> t(DiscoverNamesInFile.java:157)
>        at
> org.apache.commons.discovery.resource.names.NameDiscoverers$1.getNextIte
> rator(NameDiscoverers.java:143)
>        at
> org.apache.commons.discovery.resource.names.NameDiscoverers$1.hasNext(Na
> meDiscoverers.java:126)
>        at
> org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$
> 1.getNextResource(ResourceClassDiscov
> erImpl.java:159)
>        at
> org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$
> 1.hasNext(ResourceClassDiscoverImpl.j
> ava:147)
>        at
> org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(Eng
> ineConfigurationFactoryFinder.java:12
> 0)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at
> org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactor
> y(EngineConfigurationFactoryFinder.ja
> va:113)
>        at
> org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactor
> y(EngineConfigurationFactoryFinder.ja
> va:160)
>        at
> org.apache.axis.client.Service.getEngineConfiguration (Service.java:812)
>        at
> org.apache.axis.client.Service.getAxisClient(Service.java:103)
>        at org.apache.axis.client.Service.<init>(Service.java:112)
>        at
>
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.385 / Virus Database: 268.5.1/328 - Release Date: 1-5-2006
>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.385 / Virus Database: 268.5.1/328 - Release Date: 1-5-2006
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

RE: classloader problem

Posted by MW Janssen <ma...@bedrijven.nl>.
he,

i had the same problem...what i did was removing axis.jar from my jdk libary
directory and put it just in common/lib directory of tomcat (not in
WE-INF-lib). SO in fact its there once on my server, and then it works
great.

Maarten

 

-----Oorspronkelijk bericht-----
Van: A srivani [mailto:srivania12@gmail.com] 
Verzonden: dinsdag 2 mei 2006 8:54
Aan: users@tomcat.apache.org
Onderwerp: Fwd: classloader problem

---------- Forwarded message ----------
From: A srivani <sr...@gmail.com>
Date: May 2, 2006 12:16 PM
Subject: Re: classloader problem
To: devlists@hanik.com

 Hi there,

http://www.mail-archive.com/users@tomcat.apache.org/msg07773.html

I am facing similar problem as in above link.

In my webapplication axis is used to connect webservices. If the axis.jar is
in WEB-INF/lib I can reload my app and everything is fine.
But when I moved axis.jar to CATALINA_HOME/shared/lib to shrink the size of
my war file I get a NullPointerException (stack trace follows) when the
application has been reloaded and I try to connect to a service. The
application runs fine until I try to connect to a webservice. What could be
the reason for this?

I surfed the forums related to the problem and found that some are
suggesting to make reloadable=true in server.xml.But it is not possible for
me.



Thanks in advance.....
A Srivani.



*java.lang.NullPointerException
        at
org.apache.catalina.loader.WebappClassLoader.findResources(WebappClassLo
ader.java:956)
*        at java.lang.ClassLoader.getResources(ClassLoader.java :1015)
        at
org.apache.commons.discovery.jdk.JDK12Hooks.getResources(JDK12Hooks.java
:150)
        at
org.apache.commons.discovery.resource.DiscoverResources$1.getNextResourc
es(DiscoverResources.java :153)
        at
org.apache.commons.discovery.resource.DiscoverResources$1.getNextResourc
e(DiscoverResources.java:129)
        at
org.apache.commons.discovery.resource.DiscoverResources$1.hasNext(Discov
erResources.java:116)
        at
org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNex
tClassNames(DiscoverNamesInFile.java:
186)
        at
org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNex
tClassName(DiscoverNamesInFile.java:1
70)
        at
org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.hasNex
t(DiscoverNamesInFile.java:157)
        at
org.apache.commons.discovery.resource.names.NameDiscoverers$1.getNextIte
rator(NameDiscoverers.java:143)
        at
org.apache.commons.discovery.resource.names.NameDiscoverers$1.hasNext(Na
meDiscoverers.java:126)
        at
org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$
1.getNextResource(ResourceClassDiscov
erImpl.java:159)
        at
org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$
1.hasNext(ResourceClassDiscoverImpl.j
ava:147)
        at
org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(Eng
ineConfigurationFactoryFinder.java:12
0)
        at java.security.AccessController.doPrivileged(Native Method)
        at
org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactor
y(EngineConfigurationFactoryFinder.ja
va:113)
        at
org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactor
y(EngineConfigurationFactoryFinder.ja
va:160)
        at
org.apache.axis.client.Service.getEngineConfiguration (Service.java:812)
        at
org.apache.axis.client.Service.getAxisClient(Service.java:103)
        at org.apache.axis.client.Service.<init>(Service.java:112)
        at

--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.385 / Virus Database: 268.5.1/328 - Release Date: 1-5-2006
 

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.385 / Virus Database: 268.5.1/328 - Release Date: 1-5-2006
 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org