Integration Server 10.3 | Built-In Services Reference Guide | Trigger Folder | Summary of Elements in this Folder | pub.trigger:suspendRetrieval
 
pub.trigger:suspendRetrieval
WmPublic. Suspends retrieval of documents from the messaging provider for a specific webMethods messaging trigger.
Input Parameters
triggerName
String Fully qualified name of the webMethods messaging trigger for which you want to suspend document retrieval.
persistChange
String Optional. Flag indicating whether the document retrieval change should be permanent or temporary. Set to:
*true to save the change to file. Integration Server persists the change across server restarts, package reloads, and changes to trigger properties. The trigger will not retrieve documents until retrieval is actively resumed via the Integration Server Administrator or by execution of the pub.trigger:resumeProcessing service.
*false to indicate that the change is temporary and will not be maintained when the server restarts, the trigger is enabled or disabled, or the package containing the trigger reloads. This is the default.
applyChangeAcross Cluster
String Optional. Flag indicating whether document retrieval should be suspended for this trigger across all the servers in the cluster. Set to:
*true to suspend document retrieval for the specified trigger on all the servers in the cluster.
Note:
To make the document retrieval change on all the servers in a cluster, the Integration Server be configured to synchronize trigger changes across the cluster. For more information about configuring an Integration Server to synchronize trigger management changes across a cluster, see webMethods Integration Server Administrator’s Guide.
*false to indicate that document retrieval for this trigger should be suspended on the local Integration Server only. This is the default.
Output Parameters
None.
Usage Notes
This service does not affect document retrieval for locally published documents to which the specified trigger subscribes.
When you suspend document retrieval, the specified trigger will continue to receive documents delivered to the default client.
Integration Server will not suspend document processing for the specified trigger if the trigger is locked by a user. For more information about locking elements, see webMethods Service Development Help.
When you suspend document retrieval, Integration Server will not dispatch any server threads to retrieve documents from the messaging provider for the trigger. Any server threads currently retrieving documents for the trigger will execute to completion.
When you suspend document retrieval, documents to which this trigger subscribes will collect on the messaging provider. Documents remain in the trigger's client queue until document retrieval resumes for the trigger or the documents expire.
If you do not resume document retrieval before the server restarts, the trigger package reloads, or the trigger properties are modified, the messaging provider discards any volatile documents for the trigger.
If you do not persist the change, the trigger reverts to the previously saved document retrieval state when the server restarts, the trigger is enabled or disabled, or the package containing the trigger reloads.
If you suspend document retrieval for a trigger, but do not suspend document processing for the trigger, one of the following occurs:
*If Broker is the messaging provider, the trigger eventually processes all the documents that were retrieved from the messaging provider for the trigger
*If Universal Messaging is the messaging provider, Integration Server rolls back all of the documents that have been retrieved but not acknowledged to Universal Messaging. This includes unprocessed documents in the trigger queue and documents currently being processed. The documents that are in the midst of being processed will complete processing. However, Integration Server cannot acknowledge the documents. This will lead to duplicates. After document processing resumes for the trigger, the documents are redelivered. If exactly-once processing is enabled for the trigger but a message history database is not used, Integration Server determines that the redelivered documents are duplicate documents and rejects them.
To avoid the above situation where Integration Server receives duplicates of documents for which processing completed, suspend document processing before suspending document retrieval. When you suspend document processing for a webMethods messaging trigger that receives documents from Universal Messaging, Integration Server does not retrieve any new documents from the trigger queue for processing.Integration Server allows any documents already being processed to completes processing, which includes acknowledging the documents to Universal Messaging. After processing completes, then suspend document retrieval for the trigger. An active thread count of zero for the trigger indicates that document processing has completed.
Note:
If Universal Messaging setting QueueDeliveryPersistencePolicy is set to “No Persist/No Sync” and the Universal Messaging server restarts before document retrieval resumes for the trigger, the documents that Integration Server rolled back to Universal Messaging will be lost.
If you set applyChangeAcrossCluster to true and the synchronization is not successful, the following occurs:
*If the Integration Server does not update all the Integration Servers in the cluster successfully, the Integration Server writes the following server log entry for each server that could not be updated:
[ISS.0098.0107E] Error occurred during cluster invoke:
Alias = remoteAliasName; Service = serviceName; Exception = exceptionName
The Integration Server Administrator also displays the following message:
[ISS.0085.9203] Errors occurred while updating remote aliases (x of y
updates failed). See server logs for more details.
*If the Integration Server cannot update the Integration Servers in the cluster because the change could not be made locally, the Integration Server Administrator displays the following message:
[ISS.0085.9204] Local update failed: Exception providing reason for failure.
(Note: The cluster synchronization will not run until all local errors
are resolved.)
*If the Integration Server cannot update the Integration Servers in the cluster because cluster synchronization is not configured, the Integration Server writes the following server log entry:
[ISS.0033.0156W] Cluster invoke did not complete successfully.
Cluster Synchronization feature is not configured.
You can use the Integration Server Administrator to view and change cluster synchronization status for triggers. For more information, see webMethods Integration Server Administrator’s Guide.
In a Java service, you can suspend document retrieval by calling setRetrievalSuspended(). For more information about this method, see the webMethods Integration Server Java API Reference for the com.wm.app.b2b.server.dispatcher.trigger.TriggerFacade class.
You can resume and suspend document retrieval for an individual trigger or all triggers using the Integration Server Administrator. For more information, see webMethods Integration Server Administrator’s Guide.
See Also
pub.trigger:resumeRetrieval