I do not know about this custom Engine classes changes
(frowned)... 
  is there some information about this topic? 

.. and also the other one with the
pipelines/WebRequestServicerPipeline/interceptors?

--- James Carman <[EMAIL PROTECTED]> wrote:

> You can plugin to the webrequest servicer pipeline.
> 
> > Ummm... you could do that too.  You're correct
> that it would avoid the
> > visit-from-session inelegant bit.  It would be
> conceptually similar to
> > the servlet filter approach.  The downside would
> be that custom Engine
> > classes are frowned upon as Tapestry goes forward.
>  I'm not sure there
> > is an Engine.getVisit() in 4.1.
> >
> > None of the approaches is perfect since Tapestry
> doesn't provide a
> > built-in end-of-request hook.  Well, there is a
> call to
> > monitor.serviceEnd() that you could use without
> subclassing Engine.
> >
> >
> > Dobrin Ivanov wrote:
> >> Hi,
> >> Thanks Bryan, this looks like a hack:)
> >>
> >> What do you think if I override the Engine's
> method:
> >>
> >>   public void service(WebRequest request,
> WebResponse
> >> response) throws IOException {
> >>     super.service(request, response);
> >> // insert code here
> >> }
> >>
> >> Is this a bad approach?
> >>
> >>
> >> --- Bryan Lewis <[EMAIL PROTECTED]> wrote:
> >>
> >>
> >>> It sounds like a servlet listener method could
> work
> >>> for you.  Or a
> >>> servlet filter as in the previous suggestion. 
> Both
> >>> would give you a
> >>> hook into the end-of-request, and you can get to
> the
> >>> Visit via the
> >>> session.  Here's a listener approach.
> >>>
> >>>
> >>> public class EventListener implements
> >>> ServletRequestListener
> >>> {
> >>>     public void
> >>> requestInitialized(ServletRequestEvent sre) {
> >>>         // This method might not need to do
> >>> anything.
> >>>     }
> >>>
> >>>     public void
> requestDestroyed(ServletRequestEvent
> >>> sre)
> >>>     {
> >>>         // Call a static method in your
> >>> thread-storage class to get your
> >>> data.
> >>>
> >>>         // The slightly messy part is getting
> the
> >>> Visit from the session.
> >>>         HttpSession session =
> >>> sre.getServletRequest().getSession(false);
> >>>         String visitKey = "state:" + appName +
> >>> ":visit";
> >>>         Visit visit = (Visit)
> >>> session.getAttribute(visitKey);
> >>>     }
> >>> }
> >>>
> >>> In your web.xml:
> >>>
> >>>     <listener>
> >>>
> >>>
> >>>
> >>
>
<listener-class>your.package.EventListener</listener-class>
> >>
> >>>     </listener>
> >>>
> >>>
> >>> Dobrin Ivanov wrote:
> >>>
> >>>> I have designed some small API in order to
> provide
> >>>>
> >>> the
> >>>
> >>>> session persistance of the presentation layer
> >>>> (Tapestry - Visit object/HttpSession) to the
> model
> >>>> layer (in order to be able to cache some
> session
> >>>> related stuff without being aware of how the
> above
> >>>> layer is doing it). So the data is attached to
> the
> >>>> thread and at the end of the request cycle I
> want
> >>>>
> >>> to
> >>>
> >>>> save it into the Visit object.
> >>>>
> >>>> --- Martin Strand <[EMAIL PROTECTED]>
> wrote:
> >>>>
> >>>>
> >>>>
> >>>>> Exactly what do you need this for?
> >>>>> If you don't need any Tapestry logic, there
> might
> >>>>>
> >>> be
> >>>
> >>>>> other ways to do it -
> >>>>> like a servlet filter or a threaded service
> that
> >>>>> implements Discardable.
> >>>>>
> >>>>> On Tue, 19 Sep 2006 21:58:20 +0200, Jesse
> Kuhnert
> >>>>> <[EMAIL PROTECTED]>
> >>>>> wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>> It might not be super fun to learn, but I
> think
> >>>>>>
> >>>>>>
> >>>>> the "tapestry" way of
> >>>>>
> >>>>>
> >>>>>> doing
> >>>>>> this would be to contribute something to the
> >>>>>>
> >>>>>>
> >>>>> WebRequestServicerPipeline
> >>>>>
> >>>>>
> >>>>>> so
> >>>>>> that you know definitively when the cycle
> ends
> >>>>>>
> >>>>>>
> >>>>> regardless of what
> >>>>>
> >>>>>
> >>>>>> services/engines are involved..
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>
>
http://tapestry.apache.org/tapestry4/tapestry/hivedocs/config/tapestry.request.WebRequestServicerPipeline.html
> >>
> >>>>
> >>>>
> >>>>>> On 9/19/06, Dobrin Ivanov
> >>>>>>
> >>>>>>
> >>>>> <[EMAIL PROTECTED]> wrote:
> >>>>>
> >>>>>
> >>>>>>> Hi,
> >>>>>>>
> >>>>>>> I want some advise of which is the best way
> to
> >>>>>>>
> >>>>>>>
> >>>>> catch
> >>>>>
> >>>>>
> >>>>>>> the end of the request cycly. I have tried
> it
> >>>>>>>
> >>>>>>>
> >>>>> using a
> >>>>>
> >>>>>
> >>>>>>> PageDetachListener, but the problem is that
> >>>>>>>
> >>>>>>>
> >>>>> sometimes
> >>>>>
> >>>>>
> >>>>>>> there is more than one page involved into
> the
> 
=== message truncated ===


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

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

Reply via email to