Howdy, OK ;) If/when you want us to help with the code, feel free to ask. There are no known problems with tomcat skipping steps in the class hierarchy or invoking the wrong class, e.g. a superclass instead of a subclass. It would be a JVM rather than a Tomcat problem anyways.
One time I thought that was happening, I misspelled a method in the subclass ;) Check for that, and use instanceof to check the actual runtime class of your objects if you need to ascertain it. Yoav Shapira Millennium ChemInformatics >-----Original Message----- >From: Bill Wadley [mailto:[EMAIL PROTECTED] >Sent: Thursday, January 08, 2004 3:23 PM >To: Tomcat Users List >Subject: RE: odd subclassed-servlet behavior > > >Yoav, thank you for your reply. > >The classes are all packaged up neatly into .wars and .jars inside of a >.ear. I have no reason to believe they are not all being loaded by the same >classloader, but JBoss is a heavy beast, and I could be wrong. I did do a >server stop/start to avoid any weird hot-deployment issues. I also made >sure JAVA_HOME was set and pointing to my jdk1.4.2 directory. > >Code-wise, I provided a simplified description originally. The actual code >is not ready for any sort of peer-review. Also, I am not satisfied with the >architecture as described below, and will be refactoring it. The problem >will probably, at that point, disappear. > >I guess I'm just checking for a known problem of some kind, some specific >bug that I should be looking for that displays these kinds of symptoms. > >Thank you, and thanks to the whole Tomcat team! This is one hell of a >piece of work. > >Bill > >On Thu, 8 Jan 2004, Shapira, Yoav wrote: > >> Howdy, >> Can you share the relevant code? Are the classes all being loaded from >> the same classloader? >> >> Yoav Shapira >> Millennium ChemInformatics >> >> >> >-----Original Message----- >> >From: Bill Wadley [mailto:[EMAIL PROTECTED] >> >Sent: Thursday, January 08, 2004 11:29 AM >> >To: [EMAIL PROTECTED] >> >Subject: odd subclassed-servlet behavior >> > >> > >> >Hello! >> > >> >I have just upgraded from JBoss/Jetty 3.0.4 to JBoss/Tomcat 3.2.3, and >> >have noticed some rather odd behavior. >> > >> >I have 3 servlets: SuperClazz <|--- SubClazz <|--- SubSubClazz >> > >> >SuperClazz subclasses HttpServlet but is not meant to be called >> directly, >> >but SubClazz and SubSubClazz are both standalone servlets and I call >> them >> >directly depending on what I need. SubClazz does general things, and >> >SubSubClazz does more specific things. SubClazz delegates to SuperClazz >> >and SubSubClazz delegates to SubClazz as needed. This was working in >> JBoss >> >3.0.4 and Jetty. >> > >> >However, in Tomcat 4.1.29 just now I observed that calling SubClazz >> >directly resulted in SubSubClazz getting the call, then execution >> tracing >> >straight to SuperClazz, _then_ SubClazz. SubSubClazz was the last thing >> >executing before it failed. (That failure is the thing; SubSubClazz >> doesn't >> >have what it takes to handle my request, and I don't want it called.) >> > >> >Here is an example of my problem. By calling the URL: >> > http://localhost/myApp/servlet/SubClazz?a=1 >> > >> >I get this output from the running server: >> > >> >10:23:24,020 INFO [STDOUT] [SubSubClazz.doGet] GOT HERE 1 >> >10:23:24,020 INFO [STDOUT] [SubSubClazz.doPost] GOT HERE 1 >> >10:23:24,020 INFO [STDOUT] [SuperClazz.doPost] GOT HERE 1 >> >10:23:24,021 INFO [STDOUT] [SuperClazz.doPost] GOT HERE 2 >> >10:23:24,021 INFO [STDOUT] [SuperClazz.doPost] GOT HERE 3 >> >10:23:24,021 INFO [STDOUT] [SuperClazz.doPost] GOT HERE 4 >> >10:23:24,021 INFO [STDOUT] [SuperClazz.doPost] GOT HERE 5 >> >10:23:24,021 INFO [STDOUT] [SuperClazz.doPost] GOT HERE 6 >> >10:23:24,021 INFO [STDOUT] [SubClazz.doPost] GOT HERE 1 >> >10:23:24,021 INFO [STDOUT] [SubClazz.doPost] GOT HERE 2 >> >10:23:24,021 INFO [STDOUT] [SuperClazz.doAThing] GOT HERE 1 >> >10:23:24,023 ERROR [Engine] StandardWrapperValve[SubSubClazz]: >> >Servlet.service() for >> >servlet SubSubClazz threw exception >> >java.lang.IllegalStateException: Cannot forward after response has been >> >committed >> > at >> >org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDis >> patc >> >her.java:368) >> > at >> >org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispa >> tche >> >r.java:356) >> > ...bad stuff happening since correct calling order is not >> >happening... >> > >> >Can anybody explain why: >> > >> >SubClazz is being skipped and SubSubClazz is getting the request in the >> >first place? >> > >> >SubClazz is not getting the super() call, but instead it is going >> straight >> >to SuperClazz? >> > >> >SubClazz is getting the call after SuperClazz, especially after having >> been >> >skipped originally? >> > >> > >> >Thanks very much in advance for any light that can be shed on this >> >behavior. >> > >> >Bill Wadley >> > >> >--------------------------------------------------------------------- >> >To unsubscribe, e-mail: [EMAIL PROTECTED] >> >For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> This e-mail, including any attachments, is a confidential business >communication, and may contain information that is confidential, >proprietary and/or privileged. This e-mail is intended only for the >individual(s) to whom it is addressed, and may not be saved, copied, >printed, disclosed or used by anyone else. If you are not the(an) intended >recipient, please immediately delete this e-mail from your computer system >and notify the sender. Thank you. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > >Bill > >-- >Bill Wadley >[EMAIL PROTECTED] >972.866.8200 x207 > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
