Model Your Deferred Processes

A deferred process is identified in your application model by selecting the <<wmdpactivity>> stereotype on a method of a <<process>> class. Each deferred processing method must be defined to take the following input parameters:

Note: The application does not invoke a deferred process method using these parameters. These are the parameters passed to the method by the deferred processing server once the process is enacted.
Figure 1. wmdpactivity stereotype method
public void sampleDeferredMethod(long ticketID,
                                 long instDataID,
                                 boolean flag)
{
  // Method logic goes here
}

Model Your Deferred Processes shows the code that is generated for a method that is stereotyped as <<wmdpactivity>>. The required parameters must be specified in the model by the developer. You are not concerned with how these parameters are provided to the deferred process (that is taken care internally by the deferred processing engine following the enactment request). You, however, must code the logic of your deferred process into this method.

Note: Your deferred process should not attempt to perform any begin, commits or rollbacks via the TransactionInfo class or attempt any other forms of Java EE Transactional Control. This also applies to any methods that are invoked by workflows or deferred processes, regardless of how deep in the call stack. As well as deferred processes the examples of the methods include implementations of workflow or deferred processing interfaces (such as NotificationDelivery, WorkResolver, DPCallback, etc.) and any methods called by either of the above.