Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
29.4. Annotations for context demarcation
These annotations provide declarative conversation demarcation. They appear on Seam component methods, usually action listener methods.
Every web request is associated with a conversation context. Most of these conversations end when the request is complete. To span a conversation across multiple requests, you must "promote" the conversation to a long-running conversation by calling a method marked with
@Begin.
-
@Begin @Begin
@BeginCopy to Clipboard Copied! Toggle word wrap Toggle overflow Specifies that a long-running conversation begins when this method returns a non-null outcome without exception.@Begin(join=true)
@Begin(join=true)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Specifies that, if a long-running conversation is already in progress, the conversation context is propagated.@Begin(nested=true)
@Begin(nested=true)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Specifies that, if a long-running conversation is already in progress, a new nested conversation context should begin. The nested conversation will end when the next@Endis encountered, and the outer conversation will resume. Multiple nested conversations can exist concurrently in the same outere conversation.@Begin(pageflow="process definition name")
@Begin(pageflow="process definition name")Copy to Clipboard Copied! Toggle word wrap Toggle overflow Specifies a jBPM process definition name that defines the pageflow for this conversation.@Begin(flushMode=FlushModeType.MANUAL)
@Begin(flushMode=FlushModeType.MANUAL)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Specifies the flush mode of any Seam-managed persistence contexts.flushMode=FlushModeType.MANUALsupports the use of atomic conversations, where all write operations are queued in the conversation context until an explicit call toflush()(which usually occurs at the end of the conversation) is made.join— determines the behavior when a long-running conversation is already in progress. Iftrue, the context is propagated. Iffalse, an exception is thrown. Defaults tofalse. This setting is ignored whennested=trueis specified.nested— specifies that a nested conversation should be started if a long-running conversation is already in progress.flushMode— sets the flush mode of any Seam-managed Hibernate sessions or JPA persistence contexts that are created during this conversation.pageflow— the name of a jBPM process definition deployed viaorg.jboss.seam.bpm.jbpm.pageflowDefinitions.
-
@End @End
@EndCopy to Clipboard Copied! Toggle word wrap Toggle overflow Specifies that a long-running conversation ends when this method returns a non-null outcome without exception.beforeRedirect— by default, the conversation will not actually be destroyed until after any redirect has occurred. SettingbeforeRedirect=truespecifies that the conversation should be destroyed at the end of the current request, and that the redirect will be processed in a new temporary conversation context.root— by default, ending a nested conversation simply pops the conversation stack and resumes the outer conversation. Settingroot=truespecifies that the root conversation should be destroyed, which destroys the entire conversation stack. If the conversation is not nested, the current conversation is destroyed.
-
@StartTask @StartTask
@StartTaskCopy to Clipboard Copied! Toggle word wrap Toggle overflow Starts a jBPM task. Specifies that a long-running conversation begins when this method returns a non-null outcome without exception. This conversation is associated with the jBPM task specified in the named request parameter. Within the context of this conversation, a business process context is also defined, for the business process instance of the task instance.- The jBPM
TaskInstanceis available in thetaskInstancerequest context variable. The jBPMProcessInstanceis available in theprocessInstancerequest context variable. These objects can be injected with@In. taskIdParameter— the name of a request parameter which holds the task ID. Default to"taskId", which is also the default used by the SeamtaskListJSF component.flushMode— sets the flush mode of any Seam-managed Hibernate sessions or JPA persistence contexts that are created during this conversation.
-
@BeginTask @BeginTask
@BeginTaskCopy to Clipboard Copied! Toggle word wrap Toggle overflow Resumes work on an incomplete jBPM task. Specifies that a long-running conversation begins when this method returns a non-null outcome without exception. This conversation is associated with the jBPM task specified in the named request parameter. Within the context of this conversation, a business process context is also defined, for the business process instance of the task instance.- The jBPM
org.jbpm.taskmgmt.exe.TaskInstanceis available in thetaskInstancerequest context variable. The jBPMorg.jbpm.graph.exe.ProcessInstanceis available in theprocessInstancerequest context variable. taskIdParameter— the name of a request parameter which holds the ID of the task. Defaults to"taskId", which is also the default used by the SeamtaskListJSF component.flushMode— sets the flush mode of any Seam-managed Hibernate sessions or JPA persistence contexts that are created during this conversation.
-
@EndTask @EndTask
@EndTaskCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ends a jBPM task. Specifies that a long-running conversation ends when this method returns a non-null outcome, and that the current task is complete. Triggers a jBPM transition. The actual transition triggered will be the default transition unless the application has calledTransition.setName()on the built-in component namedtransition.@EndTask(transition="transitionName")
@EndTask(transition="transitionName")Copy to Clipboard Copied! Toggle word wrap Toggle overflow Triggers the specified jBPM transition.transition— the name of the jBPM transition to be triggered when ending the task. Defaults to the default transition.beforeRedirect— by default, the conversation will not actually be destroyed until after any redirect has occurred. SettingbeforeRedirect=truespecifies that the conversation should be destroyed at the end of the current request, and that the redirect will be processed in a new temporary conversation context.
-
@CreateProcess @CreateProcess(definition="process definition name")
@CreateProcess(definition="process definition name")Copy to Clipboard Copied! Toggle word wrap Toggle overflow Creates a new jBPM process instance when the method returns a non-null outcome without exception. TheProcessInstanceobject will be available in a context variable namedprocessInstance.definition— the name of the jBPM process definition deployed viaorg.jboss.seam.bpm.jbpm.processDefinitions.
-
@ResumeProcess @ResumeProcess(processIdParameter="processId")
@ResumeProcess(processIdParameter="processId")Copy to Clipboard Copied! Toggle word wrap Toggle overflow Re-enters the scope of an existing jBPM process instance when the method returns a non-null outcome without exception. TheProcessInstanceobject will be available in a context variable namedprocessInstance.processIdParameter— the name of the request parameter that holds the process ID. Defaults to"processId".
-
@Transition @Transition("cancel")@Transition("cancel")Copy to Clipboard Copied! Toggle word wrap Toggle overflow Marks a method as signalling a transition in the current jBPM process instance whenever the method returns a non-null result.