Checking whether MSMQ is listening for messages

If the MSMQ driver is not listening on port 1801, it will not receive messages. In particular, the clustered MSMQ driver (the virtual instance) must be listening for message flow that may be necessary between clustered MSMQ resources. To check whether the clustered instance of the MSMQ service is listening, perform this procedure on the cluster nodes.

To check whether MSMQ is listening

  1. Run the netstat command as follows:
    netstat -abno | findstr 1801

    All instances of the MSMQ service that are bound to local IP addresses are listed, which includes the local MSMQ service and the clustered MSMQ instances for various applications.

    A sample output is as follows:

    TCP    10.251.59.54:1801    0.0.0.0:0    LISTENING    4148
    TCP    10.251.59.118:1801    0.0.0.0:0    LISTENING    102556
    TCP    10.251.59.117:1801    0.0.0.0:0    LISTENING    75272

    The three different process IDs in this sample indicate that three different message queue drivers are running.

  2. To confirm that one of these is the virtual driver in use for the clustered application, run the tasklist command as follows:
    tasklist /svc | findstr processID

    For example:

    tasklist /svc | findstr 75272

    A sample output is as follows:

    mqsvc.exe        75272 MSMQ$AppSG-MSMQ

    This indicates that the virtual message queue driver has bound to the port where MSMQ is expected to run. MSMQ$AppSG-MSMQ is the name of the clustered driver in the application service group. If this is not present, the application will not be able to send and receive messages.