Problems with MSMQ in real life
Microsoft Message Queuing (MSMQ) is powerful solution for asynchronous applications.
However, things don't look so good when MSMQ must be managed - supplied MSMQ
management console (MMC) does not cover many real life situations.
Poison messages
Transactional queues sometime lead to poison messages - messages that practically block entire queue. In case when message processing fails standard solution is to roll back entire transaction, which puts failed message back to queue. If reason for failed processing is not transient, that same message will be retried indefinitely because it is always on top of queue. You need to delete single poison message?
Can't be done from MMC.
Queued components management
Those who use QueuedComponents know that poison messages will eventually finish in deadletter queue. How to put that message back to queue 0 to be processed again?
Can't be done from MMC.
Backup and restore MSMQ messages
During software and hardware upgrades there's a need to save an load messages.
Can't be done from MMC.
Need to manage remote queues?
Can't be done from MMC.
Only solution for these problems so far was to programmaticaly access MSMQ
Wouldn't it be better to check details of message, move them between queues, edit, delete or save them like they're files?
These things are possible now - and very easy.
Download QueueExplorer and see how it makes MSMQ more manageable.
See list of all QueueExplorer features
|