[jboss-user] [JBoss Seam] - Nested conversation ending problem

andrew.rw.robinson do-not-reply at jboss.com
Mon Apr 23 19:34:14 EDT 2007


I have an AJAX'd (A4J) page that shows a dialog. There is a link that opens that dialog. The action of that link is annotated with @Begin(ifOutcome="success", nested=true)

The "OK" button of the dialog (a4j:commandLink) calls:
@End(ifOutcome="success")
  |   public String applyChanges()...

There is no navigation for "success", so the view should stay on the same page and the parent conversation should resume. The page that I'm on is in pages.xml:

  |   <page
  |     view-id="/pages/jobManagement/jobs.xhtml"
  |     action="#{jobMgmtJobBean.onLoad}"
  |     conversation-required="true"
  |     no-conversation-view-id="/pages/jobManagement/tasks.xhtml" />
  | 

What is happening is that "Manager.endConversation(boolean)" is called, and that method calls "setLongRunningConversation(false);". After this, the SeamPhaseListener gets to the "Pages.enterPage" method. It finds my page from the pages.xml definition and "Manager.instance().isLongRunningConversation()" returns false. The Manager then redirects to the "no-conversation-view-id".

Why is this happening? What I think should be happening:

  | *  @End encountered
  | *  Manager.endConversation called
  | *  Manager should notice that it is ending a nested conversation and pop the conversation
  | *  Manager should resume the parent conversation (isLongRunningConversation() should still be true)
  | *  Pages should then be happy and the view re-rendered
  | 

Is this a shortcoming or a bug, or is there something I am missing? (FYI, I tried both "beforeRedirect=false" and "beforeRedirect=true", and it didn't make a difference in the behavior of the Manager code.

Thanks for any help.

Environment:
Seam version 1.1.6 GA 
Ajax4Jsf 1.1.0
Facelets 1.1.11

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4040055#4040055

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4040055



More information about the jboss-user mailing list