[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-4348) <begin-task> clobbers the conversation flush-mode

Marshall Treadaway (JIRA) jira-events at lists.jboss.org
Mon Aug 10 14:17:29 EDT 2009


<begin-task> clobbers the conversation flush-mode
-------------------------------------------------

                 Key: JBSEAM-4348
                 URL: https://jira.jboss.org/jira/browse/JBSEAM-4348
             Project: Seam
          Issue Type: Bug
          Components: BPM
    Affects Versions: 2.1.1.GA
         Environment: JBoss AS 4.2.2, Seam 2.1.1 GA, jBPM 3.2.1 (I think)
            Reporter: Marshall Treadaway


As far as I can tell, using the <begin-task> tag in a page.xml file for a page seems to set the flush-mode to "auto" and ignore any other declared flush-mode settings.

While developing a series of simple task pages for a jBPM process I am implementing, I noticed that form data was being flushed and committed to the database immediately after been submitted via an AJAX request.  I supposed this was because the flush-mode was not what I thought it was.

(First issue, there is no Conversation.instance().getFlushModeType() method, which would have been useful)

-The link used to get to this page used "end" for conversation propagation.
-The page.xml for the page used <begin-conversation join="true" flush-mode="MANUAL"/> and <begin-task task-id="#{taskId}"/>

I tried adding flush-mode="manual" to the begin-task tag, but it had no affect (changes were still being flushed and committed to the database.  I tried removing the <begin-conversation> tag altogether after reading that <begin-task> should start a conversation anyways (or was it <start-task>?).  I then got an error about needing to use "join=true" for my conversation settings.  

Finally, I was able to get around this by using a page action like below, leaving the <begin-conversation join="true" flush-mode="MANUAL">, and removing the <begin-task> tag.

	@RequestParameter
	private Long taskId;

	public void beginTask(){	
		if(taskId != null){
			BusinessProcess.instance().resumeTask(taskId);					
			Conversation.instance().changeFlushMode(FlushModeType.MANUAL);
		}
	}

I hope this is coherent.   Also, this is my first time to report an issue here.  Forgive me if I did anything wrong.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list