Critical errors in the InterChange Server Express system can cause problems in your run-time environment. A critical error as defined in the InterChange Server Express system can be generated by one of the following situations:
By default, a collaboration continues processing subsequent initiators after a flow has failed. However, a collaboration's behavior can be configured to pause automatically when a critical error occurs that might cause flows to fail. Configuring a collaboration in this way eliminates the possibility of the next flow failing for the same reason by not processing any more initiators after a flow fails. This is critical if the sequence in which initiators are processed needs to be maintained. If the collaboration pauses, the order in which initiators arrived to the server is maintained. At this point, you can fix the critical error, resolve the failed flow, then restart the collaboration. If collaborations do not depend on an initiator that is associated with a failed flow, you can resume the collaboration and resolve the failed flow at a later time. See Flow failures for more information on submitting failed events.
To configure a collaboration object to pause after a critical error occurs, select the Pause when critical error occurs check box in the Collaboration General Properties tab of the Properties dialog box.
If this value is set, the collaboration pauses when a critical error occurs and remains paused until either of the following occurs:
If you do not configure the collaboration to pause when a critical error occurs, the following situation might happen:
Two initiators, E1 and E2, are waiting to be processed by a collaboration. E1 creates a new customer and E2 updates E1. Because E2 updates E1, E1 must process before E2. If a critical error occurs when a collaboration is processing E1 and E1 fails as a result, then E1 is moved to the resubmission queue. If you do not select the Pause when critical error occurs check box, the collaboration attempts to process E2. E2 fails because it relies on the successful processing of E1.
If the collaboration property CONVERT_UPDATE is set to true, then E2, which updates E1, becomes a create and creates the new customer with the updated data. Data in E1 is now old and should not be manually submitted because it overwrites data delivered by E2.