Alex,

if you mean exception handling, I've just decorated RequestExceptionHandling
like this:

    public RequestExceptionHandler decorateRequestExceptionHandler(
            final Logger logger,
            final Response response,
            @Symbol(SymbolConstants.PRODUCTION_MODE)
            boolean productionMode)
    {
        if (!productionMode) return null;

        return new RequestExceptionHandler()
        {
            public void handleRequestException(Throwable exception) throws
IOException
            {
                logger.error("Unexpected runtime exception: " +
exception.getMessage(), exception);


response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, null);
            }
        };
    }

Then in web.xml I added 500 error page:

    ...
    <error-page>
        <error-code>500</error-code>
        <location>/500.html</location>
    </error-page>
 </web-app>

I also ended with writing custom filter wrapping T5 to not load tapestry for
non-tapestry related requests wich may affect T5 by /* filter url pattern.

Not sure if I have some really generic code for tapestry5-gae.
However there are some tips & tricks I may share about tapestry5 for gae/j.
Probably I will write blogpost (or page in T5 wiki) on this later this/next
month.


On Mon, Jun 7, 2010 at 08:17, Alex Kotchnev <akoch...@gmail.com> wrote:

> Dmitry,
>   could you possibly share what you come up with - this seems like
> something generically useful when running in GAE . Is there any possiblity
> for tapestry5-gae module ?
>
> Regards,
>
> Alex K
>
> On Wed, Jun 2, 2010 at 2:38 PM, Dmitry Gusev <dmitry.gu...@gmail.com>
> wrote:
>
> > I'm thinking how to handle
> > com.google.apphosting.api.DeadlineExceededException.
> > This exception thrown in GAE if request processed more than 30 seconds
> and
> > I
> > have only ~400 ms to handle this error untill
> > com.google.apphosting.runtime.HardDeadlineExceededError thrown.
> >
> > I was thinking to override filter and wrap doFilter with try/catch. But
> now
> > I see that there is RequestExceptionHandler for these purposes.
> > Looks like DefaultRequestExceptionHandler can't handle exception in 400
> ms.
> > I think I will override this handler and just send response redirect to
> > some
> > static 500.html page.
> >
> > On Wed, Jun 2, 2010 at 21:25, Howard Lewis Ship <hls...@gmail.com>
> wrote:
> >
> > > What are you trying to accomplish?  Tapestry already has great
> > > mechanisms for extending the request processing behavior, including
> > > dealing with thrown exceptions. That's why such methods are final, to
> > > encourage you to look in the correct place.
> > >
> > > On Wed, Jun 2, 2010 at 10:14 AM, Dmitry Gusev <dmitry.gu...@gmail.com>
> > > wrote:
> > > > I need to override this method to wrap it with try/catch but can't do
> > it
> > > > right now.
> > > >
> > > > Is there any reason why this method was declared final?
> > > >
> > > > --
> > > > Dmitry Gusev
> > > >
> > > > AnjLab Team
> > > > http://anjlab.com
> > > >
> > >
> > >
> > >
> > > --
> > > Howard M. Lewis Ship
> > >
> > > Creator of Apache Tapestry
> > >
> > > The source for Tapestry training, mentoring and support. Contact me to
> > > learn how I can get you up and productive in Tapestry fast!
> > >
> > > (971) 678-5210
> > > http://howardlewisship.com
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > > For additional commands, e-mail: users-h...@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > Dmitry Gusev
> >
> > AnjLab Team
> > http://anjlab.com
> >
>



-- 
Dmitry Gusev

AnjLab Team
http://anjlab.com

Reply via email to