Hi Lenny,
PreRenderComponent is triggered during RENDER_RESPONSE phase just before
a specific component is rendered. If you are using the Flash then it 
indeed is
at the wrong time.
Thanks!
Kind regards,
Manfred Riem
On 2/29/16, 12:49 PM, Lenny Primak wrote:
> I would think that preRenderComponent also satisfies 
> INVOKE_APPLICATION requirement.
> I’ve been doing a lot of reading about this few years ago and I think 
> I got that one correctly.
>
> <?xml version='1.0' encoding='UTF-8' ?>
> <!DOCTYPE html [ <!ENTITY nbsp " "> ]>
> <html xmlns="http://www.w3.org/1999/xhtml"
>       xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
>       xmlns:h="http://xmlns.jcp.org/jsf/html"
>       xmlns:jsf="http://xmlns.jcp.org/jsf"
>       xmlns:f="http://xmlns.jcp.org/jsf/core"
>       xmlns:p="http://xmlns.jcp.org/jsf/passthrough"
>       xmlns:baw="http://xmlns.jcp.org/jsf/composite/components"
>       xmlns:flowlogix="http://flowlogix.com/ui"
>       xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
>       xmlns:pf="http://primefaces.org/ui"
>       xmlns:o="http://omnifaces.org/ui">
> <head jsf:id="head">
> <f:view transient="#{empty transient? 'true' : transient}"/>
> <f:event type="preRenderComponent" 
> listener="#{layout.setPageType(pageType)}”/>
> ………………
>
> @Model @Getter
> public class Layout
> {
>     public enum PageType { Index, Pallets, Logistics }
>
>
>     public void setPageType(PageType pageType)
>     {
> -----------------
>         if (Faces.hasSession() && !Faces.getSession(false).isNew() && 
> Boolean.TRUE.equals(Faces.getFlashAttribute(AttributeKeys.SESSION_EXPIRED_KEY)))
>         {
> // below doesn’t get executed
>             
> Faces.getContext().addMessage(AttributeKeys.SESSION_EXPIRED_KEY,
>                     new FacesMessage(FacesMessage.SEVERITY_INFO,
>                             null, "Your Session has Expired"));
>         }
> ...
>
>> On Feb 29, 2016, at 12:42 PM, arjan tijms <arjan.tijms_at_gmail.com 
>> <mailto:arjan.tijms_at_gmail.com>> wrote:
>>
>> Hi,
>>
>> On Monday, February 29, 2016, Lenny Primak <lprimak_at_hope.nyc.ny.us 
>> <mailto:lprimak_at_hope.nyc.ny.us>> wrote:
>>
>>     The funny thing is that I am not using flash at all.
>>     The only Flash-related call in the process here is a
>>     getFlashAttribute within
>>     preRenderComponent event.
>>
>>
>> That probably counts for "using The Flash" I'm afraid.
>>
>> It's conceptually a bit weird though that by just reading and never 
>> writing the code still wants to write out the flash cookie.
>>
>> Kind regards,
>> Arjan
>>
>>
>>
>>
>>     I don’t see how this could affect things at all.
>>     This only happens for (unconfirmed) very large pages.
>>
>>     > On Feb 29, 2016, at 11:08 AM, manfred riem
>>     <manfred.riem_at_oracle.com <javascript:;>> wrote:
>>     >
>>     > Hi Lenny,
>>     >
>>     > You are using the Flash too late in the process, aka during render.
>>     >
>>     > If you do not want this problem to show up please use the Flash
>>     during INVOKE_APPLICATION.
>>     >
>>     > Thanks!
>>     >
>>     > Kind regards,
>>     > Manfred Riem
>>     >
>>     > On 2/26/16, 11:41 PM, Lenny Primak wrote:
>>     >> I am using Mojarra 2.3m04, and Flash scope is still broken.
>>     >> I am getting this error:
>>     >>
>>     >> -----
>>     >> JSF1095: The response was already committed by the time we
>>     tried to set the outgoing cookie for the flash. Any values stored
>>     to the flash will not be available on the next request.
>>     >> ——
>>     >>
>>     >> The weird thing is that I am not even putting anything into
>>     flash scope, and there is no flash cookie in the browser.
>>     >>
>>     >> I put this snippet in web.xml:
>>     >> <context-param>
>>     >> <param-name>javax.faces.FACELETS_BUFFER_SIZE</param-name>
>>     >> <param-value>32768</param-value>
>>     >> </context-param>
>>     >>
>>     >> which solves this problem 99% of the time, but for some large
>>     pages, the issue persists.
>>     >>
>>     >> I have no way to reproduce this as this happens very, very
>>     rarely, and only in production
>>     >> (yes, I am using 2.3m04 in production and it works great!)
>>     >
>>
>