WCF + MSMQ 4: who moves the message from the retry queue back to the application queue?

This is a simple question, but I could not find the answer.

Suppose my message is put on a retry queue (who creates the retry queue? Is this WCF or an MSMQ service?)

After 5 minutes (this is my retry delay), this message is returned to the application queue.

Question: who moves the message from the retry queue to the application queue after a timeout?

Bonus question: how is the delay tracked? Does the message receive a β€œmoved” time stamp and a β€œrepeat” time stamp?

+4
source share
3 answers

According to this article, Processing ulcer messages, MSMQ 4 provides several new features that allow you to use the application to process poisonous messages using subclasses. These functions:

  • abort counter
  • travel counter
  • ability to move messages between the main queue and subzetas, as well as between subclasses.

So, it seems that the actual move is being handled by WCF, not MSMQ; and MSMQ just now has the ability to support poisonous messages and retry processing.

0
source

WCF with MSMQ 4.0 provides automatic retry and processing of poisonous messages , although Hugh's answer is correct for older versions of MSMQ.

Edit comment: When defining a process that moves messages in and out of the retry queue, I would assume that its MSMQ service is on its own, as this is a new feature in MSMQ 4.0. WCF is involved in a transaction that wraps this whole action and, of course, processes messages in the MSMQ queue.

+2
source

WCFs with standard msmq bindings (netMsmqBinding and msmqIntegrationBinding) do not support retries. Therefore, in response to your questions:

who creates the repeat queue? - You doing.

who moves the message from the replay queue to the application queue after a timeout? - You doing.

How is the delay tracked? - You have to do it.

NServiceBus is open source and can use MSMQ for transport. This product provides a re-launch function out of the box, but does not use WCF.

UPDATE

Above is valid for MSMQ 3 and below.

+1
source

Source: https://habr.com/ru/post/1393032/


All Articles