You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by David Rees <dr...@ebetinc.com> on 2000/11/30 23:59:09 UTC

Tomcat 3.2 ClassCastException after servlet update on getAttribute

I also just tried this on Tomcat 3.2, same problem.

Again, here's the problem:

I have a form which posts to a jsp, which then instantiates a bean with the
data from the form, which then forwards the request to a servlet which does
a getAttribute to obtain then the bean data.  It then forwards on again to
another jsp.

The problem occurs during development:  Updating the servlet causes a
ClassCastException.  Shutting down and restarting Tomcat makes the
ClassCastException go away.

This happens on Tomcat 3.1 and 3.2.  It does not happen on the Tomcat 4.0 m4
build.

Should I post this issue to the -dev list?  It seems like a Tomcat bug to
me.

-Dave

> Replying to my own message:
>
> I just downloaded and tried it under Tomcat 3.1 which showed the same
> problem.  So at least this isn't a new bug.  :-)
>
> I also tried Tomcat 4.0-m4 which works perfectly in for my test case.
>
> > I have a simple test case (which this was generated under) which I can
> > post to the list if anyone is interested.
> >
> > Is this a known bug?  I haven't tried the same thing under Tomcat 3.1
> > yet, as I was under the impression that Tomcat 3.2beta was superior to
> > Tomcat 3.1.
>


RE: Tomcat 3.2 ClassCastException after servlet update on getAttribute

Posted by David Rees <dr...@ebetinc.com>.
Hi Craig,

> -----Original Message-----
> From: Craig R. McClanahan [mailto:Craig.McClanahan@eng.sun.com]
>
> David Rees wrote:
>
> > I also just tried this on Tomcat 3.2, same problem.
> >
> > Again, here's the problem:
> >
> > I have a form which posts to a jsp, which then instantiates a
> bean with the
> > data from the form, which then forwards the request to a
> servlet which does
> > a getAttribute to obtain then the bean data.  It then forwards
> on again to
> > another jsp.
> >
> > The problem occurs during development:  Updating the servlet causes a
> > ClassCastException.  Shutting down and restarting Tomcat makes the
> > ClassCastException go away.
> >
> > This happens on Tomcat 3.1 and 3.2.  It does not happen on the
> Tomcat 4.0 m4
> > build.
> >
> > Should I post this issue to the -dev list?  It seems like a
> Tomcat bug to
> > me.
>
> You can if you want ... but there are fundamental architectural
> problems to the
> way that class reloading was done in 3.1 and 3.2.  It would be a
> pretty major
> change to fix it.

Ah, so is this a known bug?  I looked through the archive, but couldn't find
any reference to it.  I would think that what I'm trying to do is pretty
common, I'm surprised it hasn't come up more often.  Is there any known
workarounds besides restarting the server?  It's a very strange bug, casting
the Bean to an object and running Class.forName() reports the right thing...

> Tomcat 4.0 uses a different strategy (pretty much based on what
> Apache JServ)
> did that seems to deal with class reloading in a much more robust
> manner (and
> with lower overhead).

Yeah, I noticed that 4.0 seems to be much quicker when it comes to compiling
and reloading things.  I guess I could run the latest milestone build of
that to avoid this problem.

Thanks,
-Dave


Re: Tomcat 3.2 ClassCastException after servlet update on getAttribute

Posted by "Craig R. McClanahan" <Cr...@eng.sun.com>.
David Rees wrote:

> I also just tried this on Tomcat 3.2, same problem.
>
> Again, here's the problem:
>
> I have a form which posts to a jsp, which then instantiates a bean with the
> data from the form, which then forwards the request to a servlet which does
> a getAttribute to obtain then the bean data.  It then forwards on again to
> another jsp.
>
> The problem occurs during development:  Updating the servlet causes a
> ClassCastException.  Shutting down and restarting Tomcat makes the
> ClassCastException go away.
>
> This happens on Tomcat 3.1 and 3.2.  It does not happen on the Tomcat 4.0 m4
> build.
>
> Should I post this issue to the -dev list?  It seems like a Tomcat bug to
> me.
>

You can if you want ... but there are fundamental architectural problems to the
way that class reloading was done in 3.1 and 3.2.  It would be a pretty major
change to fix it.

Tomcat 4.0 uses a different strategy (pretty much based on what Apache JServ)
did that seems to deal with class reloading in a much more robust manner (and
with lower overhead).

>
> -Dave

Craig McClanahan