Sunday, February 26, 2012

Event notification on disabled queue: the conversation must end?

Hello,

I have configured an Event Notification for BROKER_QUEUE_DISABLED.

I created a Queue different from the one the Receive my normal messages and on this queue I define an activation.

The Activated SP takes the [EventNotification] message and execute a

RAISEERROR('Message',0,1) WITH LOG.

The error is properly logged in the SQL server event log but I gave a look the Initiator and target sys.conversation_endpoints catalog view and I have see the the conversations are in the status CONVERSING or SI ...

Do I have to call the END CONVERSATION after the commit or these statuses are caused by some mistakes on the message process workflow?

Thank you

Marina B.

The conversations used by the event notifications infrastructure should not be ended. They will be ended by initiator when the event notification object is dropped (DROP EVENT NOTIFICATION ...). You procedure should react to the EndDialog message by ending it's side. If you end the conversations prematurely from the procedure side you are in effect disabling the event notification (it will have to be dropped and created again).

This applies for all event notifications, it is not specific to BROKER_QUEUE_DISABLED.

No comments:

Post a Comment