You can't have multiple MSMQ triggers set to do retrieval processing

On the Newsgroups today was a question about the following error:

"The new trigger was not successfully created. Multiple triggers with retrieval processing are not allowed on a single queue."

The poster already had a Peeking trigger on the queue and was trying to add a Retrieval trigger. He didn't know why he was getting the error as he did not have "multiple triggers with retrieval processing".

What the error is really trying to say is that multiple triggers cannot co-exist with retrieval processing.

The logic behind this is that if you have multiple triggers then it is assumed that you want all of them to fire. If a retrieval is allowed to occur before a peek then the peek will fail as the message has gone. So to guarantee success, multiple triggers on the same queue must be peek-only.