Working with conversations I've found that there is no way to end a conversation ( or kill a conversation ) before the rendering phase. I'm not the first one posting this problem .
I think its important to be able to destroy all the data asociate with certain context, Just imagine some SFSB saved in a conversation or session context and we want to release or refresh those data, Waiting for a redirect is a bad option.
My case is simple, I have a SFSB with some state, when I finish my transaction ( aka conversation ) I want it to be destroyed and re-initialized when the page is re-rendered. If this is in a long running conversation it's ok with a @End(beforeRedirect=true) and a redirection (I actually think it is not THE definitive solution, but its ok ) but if we consider a short conversation, this won't work, since you can only 'end-before-redirect' a long running one.
I've found a workaround, but its awful =P
Manager.instance().setLongRunningConversation( true ); Conversation.instance().endBeforeRedirect();
Of course, not to mention the
redirect option in your pages.xml/faces-config.xml config file.
Any comments? It could be nice to have a Conversation.instance().kill() method but i'm not sure of the side effect it could have.