tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Torsten Fohrer <Torsten.Foh...@dcsi.de>
Subject AW: TagHandlerPool doesn't release Tags on reuse
Date Tue, 12 Nov 2002 07:35:23 GMT

thanks all, the article clarify some thinks.

cu Torsten Fohrer

> -----Urspr√ľngliche Nachricht-----
> Von: Hans Bergsten [mailto:hans@gefionsoftware.com]
> Gesendet: Montag, 11. November 2002 21:06
> An: Tomcat Developers List
> Betreff: Re: TagHandlerPool doesn't release Tags on reuse
> 
> 
> Torsten,
> 
> You may want to read the section about the tag handler lifecycle in an
> article I wrote for ONJava.com:
> 
>    <http://www.onjava.com/pub/a/onjava/2001/11/07/jsp12.html>
> 
> It explains how the methods are called and how to deal with attribute
> values.
> 
> Hans
> Torsten Fohrer wrote:
> > But if i looking into the generated jsp/servlet sources, i 
> see the following:
> > 
> > --------------- example ---
> >       /* ----  tools:simpleCell ---- */
> >       de.dcsi.util.jsp.taglibs.Validator_SimpleCell 
> > _jspx_th_tools_simpleCell_0 = 
> (de.dcsi.util.jsp.taglibs.Validator_SimpleCell) 
> > _jspx_
> > 
> tagPool_tools_simpleCell_width_valign_messageName_height_error
> Name_errorColor.get(de.dcsi.util.jsp.taglibs.Validator_SimpleC
> ell.class);
> >       _jspx_th_tools_simpleCell_0.setPageContext(pageContext);
> >       _jspx_th_tools_simpleCell_0.setParent(null);
> >       _jspx_th_tools_simpleCell_0.setErrorName("messages");
> >       _jspx_th_tools_simpleCell_0.setMessageName("login");
> >       _jspx_th_tools_simpleCell_0.setHeight("30");
> >       _jspx_th_tools_simpleCell_0.setValign("top");
> >       _jspx_th_tools_simpleCell_0.setWidth("14%");
> >       _jspx_th_tools_simpleCell_0.setErrorColor( errorColor );
> >       int _jspx_eval_tools_simpleCell_0 = 
> > _jspx_th_tools_simpleCell_0.doStartTag();
> >       if (_jspx_th_tools_simpleCell_0.doEndTag() == 
> > javax.servlet.jsp.tagext.Tag.SKIP_PAGE)
> >         return;
> > 
> > 
> > -------- example
> > 
> > If i now reset my tag to a initial state in doStartTag() i 
> haven't any 
> > properties set........
> > 
> > Who call the release method in reaction of the GC, finalize 
> can't it.
> > 
> > On Monday 11 November 2002 18:44, Kin-Man Chung wrote:
> > 
> >>According to the JSP 1.2 Spec, the release method is not 
> invoked between
> >>tag usages, but is invoked before GC of the tag handler.  Therefore
> >>it should not be used to reset the tag handler to its initial state;
> >>you should do that in doStartTag.  See p164 and p166.
> >>
> >>
> >>>Date: Mon, 11 Nov 2002 13:32:31 +0100
> >>>From: Torsten Fohrer <Torsten.Fohrer@dcsi.de>
> >>>Subject: TagHandlerPool doesn't release Tags on reuse
> >>>To: "'tomcat-dev@jakarta.apache.org'" 
> <tomcat-dev@jakarta.apache.org>
> >>>
> >>>
> >>>I have some jsp sites which taglibs. With pooling enabled, 
> some problems
> >>>occures.
> >>>
> >>>Samples:
> >>>
> >>>  Customer Registration: all fields have the same values???
> >>>  Sessions Values are used together
> >>>
> >>>After reading the jsp spezifikation and source of the
> >>>jasper/runtime/TagHandlerPool, i see that the pool doesn't 
> call release
> >>>in his reuse method?
> >>>
> >>>After adding a general release in the reuse methode, which 
> perhaps breaks
> >>>the lifecycle of the IterationTag ( see jsp-spec, page 168 ) it's
> >>>working.
> >>>
> >>>    /**
> >>>     * Adds the given tag handler to this tag handler 
> pool, unless this
> >>>tag * handler pool has already reached its capacity, in 
> which case the
> >>>tag * handler's release() method is called.
> >>>     *
> >>>     * @param handler Tag handler to add to this tag handler pool
> >>>     */
> >>>    public synchronized void reuse(Tag handler) {
> >>>
> >>>        // Releasing Tags, see jsp spec 1.2-fcs, page 172
> >>>        handler.release();
> >>>
> >>>        if (current < (handlers.length - 1))
> >>>            handlers[++current] = handler;
> >>>    }
> >>>
> >>>Torsten Fohrer
> >>>
> >>>**********************************************************
> >>>* DCSI AG                    * Tel.: +49 7131 155 88-0   *
> >>>* Lessingstrasse 17-19       * Fax.: +49 7131 155 88-99  *
> >>>* D-74076 Heilbronn          * tf@dcsi.de                *
> >>>* GERMANY                    * http://www.dcsi.de        *
> >>>**********************************************************
> >>>
> >>>--
> >>>To unsubscribe, e-mail:  
> >>><mailto:tomcat-dev-unsubscribe@jakarta.apache.org> For additional
> >>>commands, e-mail: <mailto:tomcat-dev-help@jakarta.apache.org>
> >>
> >>--
> >>To unsubscribe, e-mail:  
> >><mailto:tomcat-dev-unsubscribe@jakarta.apache.org> For 
> additional commands,
> >>e-mail: <mailto:tomcat-dev-help@jakarta.apache.org>
> > 
> > 
> > 
> > --
> > To unsubscribe, e-mail:   
<mailto:tomcat-dev-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail:
<mailto:tomcat-dev-help@jakarta.apache.org>
> 

-- 
Hans Bergsten		hans@gefionsoftware.com
Gefion Software		http://www.gefionsoftware.com
JavaServer Pages	http://TheJSPBook.com


--
To unsubscribe, e-mail:   <mailto:tomcat-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-dev-help@jakarta.apache.org>

--
To unsubscribe, e-mail:   <mailto:tomcat-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-dev-help@jakarta.apache.org>


Mime
View raw message