axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 26875] - NullPointerExceptions for updated classes from JBoss classloader.
Date Tue, 17 Feb 2004 19:50:11 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26875>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26875

NullPointerExceptions for updated classes from JBoss classloader.





------- Additional Comments From mhawthorne@alumni.pitt.edu  2004-02-17 19:50 -------
Thanks for getting back to me.  I patched Discovery's JDK12Hooks, and it
allowed me to see a little deeper into the problem, but unfortunately it
doesn't solve it.

There seems to be a fundamental disconnect between the way that Axis expects
a ClassLoader to behave, and the way that the JBoss classloader actually
behaves.

After patching and adding some logging, here is what I saw.  The mil.navy.nicweb
classes are mine.

11:34:35,240 INFO  [org.jboss.deployment.MainDeployer] Deployed package:
file:/home/files/apps/jboss-3.2.3/server/default/deploy/nicweb-dos-server.ear/
11:35:36,071 INFO  [STDOUT] [WARN ] JDK12Hooks - -Could not find resource:
META-INF/services/org.apache.axis.EngineConfigurationFactory
11:35:36,081 INFO  [STDOUT] [WARN ] JDK12Hooks - -Could not find resource:
META-INF/services/org.apache.axis.EngineConfigurationFactory
11:35:36,090 DEBUG
[org.apache.axis.configuration.EngineConfigurationFactoryFinder] Got
EngineFactory: org.apache.axis.configuration.EngineConfigurationFactoryDefault
11:35:36,394 DEBUG [mil.navy.nicweb.dos.iface.ServiceContextFactory] Returning
ServiceContext: mil.navy.nicweb.dos.iface.ThreadLocalServiceContext: {}
11:35:36,404 WARN  [mil.navy.nicweb.dos.client.service.config.ServiceRegistry]
Username is null
11:35:36,494 ERROR [STDERR] mil.navy.nicweb.dos.iface.DataServiceException:
java.lang.NullPointerException
11:35:36,500 ERROR [STDERR] 	at
mil.navy.nicweb.dos.client.service.PorSiteLinkServiceClient.findAll(PorSiteLinkServiceClient.java:44)
11:35:36,510 ERROR [STDERR] 	at
mil.navy.nicweb.ufs.servlet.PORBySites.getPORSiteCollection(PORBySites.java:46)
11:35:36,516 ERROR [STDERR] 	at
mil.navy.nicweb.ufs.servlet.PORBySites.doGet(PORBySites.java:31)
11:35:36,522 ERROR [STDERR] 	at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

I tried another request after this and saw:
11:37:51,806 DEBUG [org.apache.axis.client.AxisClient] Enter: AxisClient::invoke
11:37:51,806 DEBUG [org.apache.axis.client.AxisClient] EngineHandler: null
11:37:51,861 DEBUG [org.apache.axis.client.AxisClient] Exit: AxisClient::invoke
11:37:51,942 ERROR [STDERR] mil.navy.nicweb.dos.iface.DataServiceException:
org.xml.sax.SAXException: Bad types (class
mil.navy.nicweb.dos.iface.data.PorStatusValue -> class
mil.navy.nicweb.dos.iface.data.PorStatusValue)
11:37:51,952 ERROR [STDERR] 	at
mil.navy.nicweb.dos.client.service.PorIavaLinkServiceClient.findByPorStatus(PorIavaLinkServiceClient.java:56)
11:37:51,962 ERROR [STDERR] 	at
mil.navy.nicweb.ufs.model.AssessmentsNeededModel.createData(AssessmentsNeededModel.java:86)
11:37:51,975 ERROR [STDERR] 	at
mil.navy.nicweb.ufs.model.AssessmentsNeededModel.getData(AssessmentsNeededModel.java:19)
11:37:51,975 ERROR [STDERR] 	at
mil.navy.nicweb.ufs.action.AssessmentsNeededAction.execute(AssessmentsNeededAction.java:31)
11:37:51,975 ERROR [STDERR] 	at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
11:37:51,975 ERROR [STDERR] 	at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
11:37:51,975 ERROR [STDERR] 	at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
11:37:51,976 ERROR [STDERR] 	at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
11:37:51,976 ERROR [STDERR] 	at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)


So it seems that my typemappings became screwed up.  The classes are the same, but
not the same.

A similar thing happens to me after redeploying my ear file.  When using the
remote interface, calls to the Axis service result in a ClassCastException
happening in PortableRemoteObject.narrow().  Using the local interface results
in a class mismatch.  It seems that after a redeploy, perhaps the classes are
loaded from a different class loader and don't match the old classes.  Does Axis
do any class caching?

Thanks again for your help.

Mime
View raw message