Real-life experiences gained on cutting edge BizTalk projects from the City of London.

Tuesday, January 25, 2005

Little known MQSeries feature

One of the less publicised features of the MQ Series adapter is that you can make it rollback the transaction and disable the receive location if an exception occurs in the pipeline.

The reason for this is that you may not want to suspend the inbound message if processing occurs in the pipeline that is important for the handling of that message. For example, if you execute business rules in the pipleine to determine a subscription policy (see Dr. Regan's recent post), or because you're using the A4Swift adapter (lots of rules), you won't want the message suspended if the Rules Engine causes an exception due to an infrastructure problem (e.g. could not connect to DB / Rules Engine Update Service not running). You want to be alerted to the problem so it can be fixed, and then re-enable the receive location so that processing continues as if nothing ever happened.

To enable this feature, set the Ordering property of the Receive Location adapter configuration to "No Order With Stop".

If the condition occurs the MQ Series Adapter will raise an appropriate event to the event log that can be picked up by MOM to alert an operator.

It works very well and is crucial for processing financial messages that must succeed...