Why does MSMQ "lock" your outgoing queue?

If you have the following situation:

  • You can send messages to local queues

  • You can receive messages from local queues

  • You cannot send anything to remote destinations
    (messages will accumulate in the local outgoing queues which themselves show a status of “locked”)

  • You cannot send anything to local queues from remote machines
    (messages will accumulate in the remote outgoing queues which themselves show a status of “waiting to connect”)

then you have enabled Hardened MSMQ Mode.

In this mode, MSMQ is expecting you to be using an Internet-facing machine so all defences are up.
Only HTTP/HTTPS can be used for sending messages and the MSMQ service does not bother to listen to any of the usual ports.
Basically, all communication is through the web service only.

  • If you need Hardened MSMQ Mode then ensure you send messages over HTTP or HTTPS.

  • If you don’t require this level of security then disable it and restart the MSMQ service

You can disable this feature using the following steps:

  1. In Computer Management, right-click Message Queuing and choose Properties

  2. Go to the Server Security tab

  3. Uncheck “Enable hardened MSMQ mode to secure this computer on the Internet. In this mode, only messages sent with HTTP/HTTPS format names will be delivered.”

Comments (6)

  1. vtortola says:

    Si con MSMQ 3.0 y Windows 2003 Server SP2 se te amontonan los mensajes en las colas de Outgoing (salida

  2. Si con MSMQ 3.0 y Windows 2003 Server SP2 se te amontonan los mensajes en las colas de Outgoing (salida

  3. FrankCai says:

    When sending message to remote computers that are temporarily unavailable, queue manager will put message in the outgoing queue.

    I think it’s possible that outgoing queue is full at some time. Can I check the status (full or has more buffer) of the outgoing queue before sending message?  or the quota of the outgoing queue only depends on computer disk.

  4. MSDN Archive says:

    Hi Frank,

    the outgoing queue has as much space as the whole MSMQ system on the sending machine.

    As long as you have disk space (and kernel memory) and haven’t reached your system-wide message quota then you should be OK.


    John Breakwell

  5. Phil says:

    We saw this today where the remote queue had storage limits imposed and we were hitting that limit; causing the outgoing queue to build.  Check the "Limit Message Storage" setting is not constricting your queue.

    1. Computer Mamagement -> Services and Applications -> Message Queuing

    2. Right click Properties

    3. General Tab, See the "Storage Limits" frame.



  6. MSDN Archive says:

    Hi Phil,

    Did you have the outgoing queue status of "Locked"?

    I expect you were only seeing a few of the symptoms covered in this blog post.


    John Breakwell (MSFT)