[jsr-314-open-mirror] [jsr-314-open] [Mojarra-1812-FacesServlet.service] PROPOSAL

Martin Marinschek mmarinschek at apache.org
Wed Oct 20 15:10:17 EDT 2010


Hi Ed,

you never responded to this, but I see on the patch for 1512 that you
implemented Blake's suggestion. Is this right?


best regards,

Martin


On 9/8/10, Blake Sullivan <blake.sullivan at oracle.com> wrote:
>   I haven't checked, but why does Faces have to do anything special to
> handles Session-scoped beans for fail-over?  Isn't the application
> server going to handle this anyway?  And if there is a Serialization
> failure, isn't the user pretty much hosed at this point?  In this case,
> if a fail-over occurred the user would at best lose state.  Also, this
> kind of error is almost certainly an application coding error and there
> is nothing that the appliction listener can really do that is helpful at
> this point.  If you really feel like publishing the event, how bad would
> it be to create a one shot FacesContext just for delivering the event
> and then release it immediately after?
>
> -- Blake Sullivan
>
>
> On 9/8/10 9:44 AM, Ed Burns wrote:
>> Thanks for your prompt response.
>>
>> Comments inline.
>>
>>>>>>> On Wed, 8 Sep 2010 18:05:15 +0200, Matthias
>>>>>>> Wessendorf<matzew at apache.org>  said:
>> MW>  I think I don't get why the release() has been (re)moved at all and
>> MW>  why this now need to exposed as lifecyle API.
>> MW>  Doesn't the ticket talk about exception handling/reporting? I think I
>> MW>  don't understand how that is related to release the facesCtx.
>>
>> The reason it impacts exception handling is the case where an exception
>> is thrown as a result of action taken by the JSF impl to synchronize
>> session scoped beans at the end of a JSF request so that clustering
>> requirements are not violated.  This is the catch block that needs to be
>> invoked when such an exception is thrown:
>>
>> EB>  +        } catch (Throwable t) {
>> EB>  +            ExceptionQueuedEventContext eventContext =
>> EB>  +                    new ExceptionQueuedEventContext(context, t);
>> EB>  +            context.getApplication().publishEvent(context,
>> EB>  +                    ExceptionQueuedEvent.class, eventContext);
>> EB>  +            context.getExceptionHandler().handle();
>> EB>  +        } finally {
>>
>> Obviously, this needs to happen *before* the FacesContext is released.
>>
>> This proposal, provides a simple and clean way for the implemention to
>> know that the jsf portion of the request processing lifecycle has
>> finished.
>>
>> Ed
>
>


-- 

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



More information about the jsr-314-open-mirror mailing list