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:
- In Computer Management, right-click Message Queuing and choose Properties
- Go to the Server Security tab
- 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 removedAnonymous
January 28, 2008
The comment has been removedAnonymous
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 BreakwellAnonymous
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.
- Computer Mamagement -> Services and Applications -> Message Queuing
- Right click Properties
- 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)