Conversation Using pages.xml
coldgin May 4, 2009 5:18 PMHi. I keep receiving a
org.jboss.seam.ConcurrentRequestTimeoutException: Concurrent call to conversation
exception for the following pages.xml configuration, when control leaves addUser.xhtml
and attempts to go back to the userSearch page. I am thinking that I get this exception because the begin-conversation tag contains join equals true
. What I want is a long running conversation to begin on the search page, and then end when it leaves the update or add pages. However, when control re-enters the search page (for the second and subsequent visit), I want a NEW long running conversation to begin (even though join equals true
).
My question: What is the default behavior for begin-conversation join equals true
??? Does it start a conversation if one does not exist (it seems like it starts a conversation the FIRST time)?? How can I achieve the long running conversation that I have described? (Seam does not start a long running conversation without join equals true
).
Thank you.
<page view-id="/userSearch.xhtml" login-required="true">
<begin-conversation join="true"/>
<navigation from-action="#{searchManager.processUpdateSelection}">
<rule if-outcome="updateUser">
<redirect view-id="/updateUser.xhtml"/>
</rule>
</navigation>
<navigation from-action="#{searchManager.processAddSelection}">
<rule if-outcome="addUser">
<redirect view-id="/addUser.xhtml"/>
</rule>
</navigation>
</page>
<page view-id="/updateUser.xhtml" login-required="true">
<navigation>
<rule if-outcome="search">
<end-conversation before-redirect="true"/>
<redirect view-id="/userSearch.xhtml"/>
</rule>
<rule if-outcome="cancel">
<end-conversation before-redirect="true"/>
<redirect view-id="/userSearch.xhtml"/>
</rule>
</navigation>
</page>
<page view-id="/addUser.xhtml" login-required="true">
<navigation>
<rule if-outcome="search">
<end-conversation before-redirect="true"/>
<redirect view-id="/userSearch.xhtml"/>
</rule>
<rule if-outcome="cancel">
<end-conversation before-redirect="true"/>
<redirect view-id="/userSearch.xhtml"/>
</rule>
</navigation>
</page>