Just to make sure I understand the implications of using a DB Lookup to do a modification – Insert, Update, Delete – in a Route Detail, either as a call in a pre- or post-xlate proc, or right in the xlate itself..
If I have the Route configuration specify "Remove all messages when any route detail fails", and one of my route detail fails, and another route detail has performed a DB Lookup that modifies data in some way, will that data modification be backed out?
I have not tried it yet. Wondering if anyone has encountered this and if there is a way to make the DB update ‘transactional’. Maybe using the new DTC function?
Will the DB modification be backed out? No.
The "all routes fail" means that if any route detail fails for a single inbound message, no other route details for that message will be processed. Any route details that have already been processed for that single message will not be delivered to their destination threads. The original inbound message will end up in the error database.
DTC is built for scenarios like this where you want a "transactional" series of events. If any DTC event fails, there are rollback procedures executed for any previous events that occurred in that DTC transaction.
Will the DB modification be backed out? No.
The "all routes fail" means that if any route detail fails for a single inbound message, no other route details for that message will be processed. Any route details that have already been processed for that single message will not be delivered to their destination threads. The original inbound message will end up in the error database.
DTC is built for scenarios like this where you want a "transactional" series of events. If any DTC event fails, there are rollback procedures executed for any previous events that occurred in that DTC transaction.
Please login or Register to submit your answer