Partilhar via


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

  • Anonymous
    January 28, 2008
    The comment has been removed

  • Anonymous
    January 28, 2008
    The comment has been removed

  • Anonymous
    September 04, 2008
    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.

  • Anonymous
    September 10, 2008
    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. Cheers John Breakwell

  • Anonymous
    June 12, 2009
    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. HTH  Phil
  • Anonymous
    June 12, 2009
    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. Cheers John Breakwell (MSFT)