> -----Original Message-----
> From: Hans Bergsten [mailto:[EMAIL PROTECTED]] 
> Sent: Friday, January 17, 2003 1:37 PM
> To: Tomcat Developers List
> Subject: Re: DO NOT REPLY [Bug 16001] - Tag.release() not invoked
> 
> 
> Tim Moore wrote:
> > This bug seems to be submitted several times a week.  Maybe an FAQ 
> > would be in order? (or FOB -- frequently opened bugs haha)
> > 
> > Then again, if people don't search the bug database before 
> submitting 
> > a new one, then I guess they can't be expected to read the FAQ.
> > 
> > And on the other hand, if the spec confuses this many people, maybe 
> > that should be fed back to the spec authors.  Just adding a "reset" 
> > method to Tag that is called before each invocation might 
> help people 
> > understand the difference between that and release.
> 
> I'm in the EG and we had a long discussion about this again 
> for JSP 2.0. The end result is that the current behavior (do 
> _not_ call release() between invocations) will stay. A 
> confusing arrow from the "released" state to the 
> "initialized" state in the state diagram will be removed, 
> however. This state transition came with lots and lots of 
> restrictions, but it seems like some vendor (and developers) 
> saw it as a requirement to call release() between 
> invocations, even though the text clearly state that that's 
> not the case.
> 

I agree that the current behavior of release should not change.  There
are important uses for long-term state that we shouldn't throw away just
because of some confusion.

But what do you think about the idea of adding a new method?  My
thinking is that if there were a reset method where people could reset
invocation-local state, then it would be easier for people to understand
the correct purpose of release in contrast.  I know there are perfectly
good ways to reset now, so this change would be more for psychological
reasons than technical ones.  You have to admit, though, the fact that
this misunderstanding is so common does say something about the clarity
of the API.  I made this mistake initially, and I believe many of the
Jakarta tags did as well.

I also know that adding methods to an interface can be problematic for
backwards compatibility reasons, but if a noop implementation is added
to TagSupport, that would handle 90% of the problem.

What do you think?
-- 
Tim Moore / Blackboard Inc. / Software Engineer
1899 L Street, NW / 5th Floor / Washington, DC 20036
Phone 202-463-4860 ext. 258 / Fax 202-463-4863


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

Reply via email to