MSMQ Triggers Topics | Previous | Next
Troubleshooting MSMQ Triggers
This section discusses the most common problems encountered when using MSMQ Triggers and describes how to use MSMQ Trigger Monitor, a troubleshooting tool used for capturing and displaying trace and diagnostic information generated by the MSMQ Triggers Service.
Common Problems
This topic describes the most common problems and their causes when using MSMQ Triggers.
The MSMQ Triggers Service fails to start.
Probable causes include the following:
- The MSMQ Triggers service has been configured to run under a domain user account without proper administrative permissions. Note that the default LocalSystem account has sufficient permissions to run the MSMQ Triggers service.
- The computer has been started with a "no network" profile, thus the RPC calls used by Message Queuing are failing. Verify that the computer has network connectivity.
- The MSMQ Triggers service has crashed. In-process Component Object Model (COM) components that are invoked can sometimes crash and as a result can also crash the MSMQ Triggers Service. This service should not be restarted until the condition that causes the COM component to crash has been rectified.
- The MSMQ Triggers Service is unresponsive. This can happen if the invoked action (and associated EXE or COM component) is blocked. This service can commence once the blocked component is able to continue.
A trigger is defined but it does not appear to be firing.
Probable causes include the following:
- The trigger is currently disabled. Confirm that the trigger has been enabled.
- The account the MSMQ Trigger Service runs under has not been granted the Peek Message permission for a queue. In this case, you will have to stop and restart this service after changing the permissions for the queue(s).
- The MSMQ Trigger Service is not running. Verify that this service has been started.
- The MSMQ Triggers Service has been paused. Verify that this service is not in a paused state.
- For the first rule created and assigned to the first trigger for a queue, the rule is activated on messages that are already contained in the queue, instead of on messages that arrive in the queue subsequently.
- The trigger condition is not being met (is false).
The warning "The message "CreateTriggerMonitor() failed to create a new monitor thread as there are already the maximum allowable number of threads in the pool (x)" appears in the Windows event log".
This message is normal when the MSMQ Triggers Service runs under heavy load. It indicates that the maximum number of threads has been reached. You can ignore this warning, or you can increase the maximum number of allowable threads.
MSMQ Trigger Monitor (Trigmon.exe) is a troubleshooting tool that can be used to capture and view detailed trace and diagnostic information produced by the MSMQ Triggers Service. This tool displays messages as they are issued from the service. Using MSMQ Trigger Monitor, it is possible to trace which threads have fired which triggers for which message.
You can run MSMQ Trigger Monitor by double-clicking Trigmon.exe in Windows Explorer (under \Program Files\Microsoft\MSMQ Triggers).
MSMQ Trigger Monitor provides the following features to assist in trigger testing and development.
- Displayed trace messages can be exported to a text file. This feature is accessed from the File menu.
- Selected columns can be displayed or hidden from view. This feature is accessed from the Columns menu.
- Filtering can be applied to displayed rows. This is done to isolate the history of a particular thread or object for the MSMQ Triggers Service. This feature is accessed from the View menu.
- Trace messages can be deleted after viewing them, or can be saved for later analysis. This feature is toggled using the Consume Messages check box. Clear this check box if you wish to save trace messages for later analysis. You must first click Open Log Queue to access this check box.
- MSMQ Trigger Monitor operation can be paused by selecting the Pause Monitor check box.
- MSMQ Trigger Monitor can produce an audible beep when the MSMQ Trigger Service issues an error or warning message. This feature is disabled by default, and is accessed from the View menu.
Before you can use MSMQ Trigger Monitor, you must first do the following:
- Open the Computer Management snap-in.
- Right-click Triggers and then click Properties.
- On the Triggers configuration tab, select the write to log queue check box.
For more information about using the Computer Management snap-in, see Using MSMQ Triggers.