Share via


Event ID 2216 — Trigger Operation

Applies To: Windows Server 2008

Message Queuing Triggers is a service that you can use to associate the arrival of each incoming message at a queue with a response that depends on the contents of the message. The response may invoke either a Component Object Model (COM) component or a stand-alone executable program. These components or programs can define business rules that can be invoked in response to such messages, without any additional programming. An issue with triggers operations can, depending on the issue, prevent the invocation of some or all business rules.

Event Details

Product: Windows Operating System
ID: 2216
Source: MSMQ
Version: 6.0
Symbolic Name: MSMQ_TRIGGER_RETRIEVE_DOWNLEVL_QUEUE_FAILED
Message: Retrieving messages from a queue located on a remote pre-Windows XP computer is not supported. All triggers associated with the queue %1 are nonfunctional.

Resolve

Convert to a peeking trigger or recreate the queue on Windows XP or Windows Vista

Retrieving messages from a queue that is located on a remote pre-Windows XP computer is not supported. You can fix this issue by changing the trigger type and have an application or COM object retrieve the message from the queue or re-create the queue on a Windows XP or Windows Vista computer.

Note: A peeking trigger checks a message in the queue but the message is not deleted.

To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.

Convert the trigger to a peeking trigger

Change the trigger to a peeking trigger, and provide an application or COM object that will take care of retreiving the message from the queue. Use this option if your business logic for handling messages does not require a retrieval trigger.

Note: If there is nothing in your Message Queuing setup that retrieves messages from your queues, your Message Queuing performance will suffer. Consider using queue quotas and implementing a solution that consumes messages that have arrived in your queues. For more information, see article 899612 in the Microsoft Knowledge Base (https://go.microsoft.com/fwlink/?LinkID=107359).

To change the trigger to a peeking trigger:

  1. Open the Computer Management snap-in. To open Computer Management, click Start. In the search box, type compmgmt.msc, and then press ENTER.
  2. In the console tree, expand Services and Applications, expand Message Queuing, expand Message Queuing Triggers, and then click Triggers. Your triggers are in the details pane. The Queue Path Name column includes the computer name.
  3. For each trigger that is associated with a queue on a pre-Windows XP computer, right-click the trigger, and then click Properties.
  4. In Message processing type, confirm that Peeking is selected. If Peeking is not currently selected, select that option, and then click OK.

Recreate the queue on Windows XP or Windows Vista

Recreate the queue with the attached trigger from the pre-Windows XP computer to a Windows XP or Windows Vista computer. Use this option if you need the trigger retrieval functionality and can use a Windows XP or Windows Vista computer to host the queue that is currently on the pre-Windows XP computer.

Note: Any applications that are currently sending messages to this queue must be altered to send to the new queue on the Windows XP or Windows Vista computer, or the messages must be forwarded from the pre-Windows XP queue to the new queue on the Windows XP or Windows Vista computer.

To recreate pre-Windows XP queues on Windows XP or Windows Vista:

  1. Create a new queue on the Windows XP or Windows Vista computer. To create a new queue, on the Windows XP or Windows Vista computer, click Start. In the search box, type compmgmt.msc, and then press ENTER.
  2. In the console tree, expand Services and Applications, and then expand Message Queuing.
  3. Right-click either Public Queues or Private Queues, point to New, and then click Private Queue (or Public Queue).
  4. Configure the properties of the new queue with the same properties as the pre-Windows XP queue from the event error.
  5. On the computer that has the original trigger, open the Computer Management snap-in. To open Computer Management, click Start, point to Run, type compmgmt.msc, and then click OK.
  6. In the console tree, expand Services and Applications, expand Message Queuing, expand Message Queuing Triggers, and then click Triggers. Your triggers are in the details pane.
  7. For each retrieval trigger that is associated with a queue on a pre-Windows XP computer, create a new trigger. For more information about creating triggers, see Create Triggers (https://go.microsoft.com/fwlink/?LinkID=101626).
  8. Configure the properties of the new trigger with the same properties as the original trigger. However, instead of using the queue from the pre-Windows XP computer for the Queue path name in the Monitored Queue section, use the new queue that you just created on the Windows XP or Windows Vista computer.

Convert the trigger to a peeking trigger

Change the trigger to a peeking trigger, and provide an application or COM object that will take care of retrieving message from the queue. Use this option if you have an application that can take care of message retrieval.

Note: You cannot use a Windows XP or Windows Vista computer for the queue being monitored (which is currently on the pre-Window XP computer). In this case, you will need an application or COM object that will retrieve the messages from the queue.

To change the trigger to a peeking trigger:

  1. Change the trigger to a "peeking" trigger. Open the Computer Management snap-in. To open Computer Management, click Start, point to Run, type compmgmt.msc, and then click OK.
  2. In the console tree, expand Services and Applications, expand Message Queuing, expand Message Queuing Triggers, and then click Triggers. Your triggers are in the details pane.
  3. For each trigger that is associated with a queue on a pre-Windows XP computer, right-click the trigger, and then click Properties.
  4. In the Message processing type section, confirm that Peeking is selected. If Peeking is not currently selected, select that option, and then click OK.
  5. Create a new rule to attach to the trigger, which, when it is triggered, will run a program that you provide to receive the messages from the queue. For more information about creating trigger rules, see Trigger rules (https://go.microsoft.com/fwlink/?LinkId=101628). For more information about Message Queuing, see About Message Queuing (https://go.microsoft.com/fwlink/?LinkId=94837).

Verify

Verify that the Message Queuing Triggers service is installed and running.

To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.

To verify that the trigger service is installed and running:

  1. Open the Services snap-in. To open Services, click Start. In the search box, type services.msc, and then press ENTER.
  2. Scroll down the list of services to confirm the existence of the Message Queuing Triggers service.
  3. In the Status column, confirm that the Message Queuing Triggers service is Started.

Trigger Operation

Message Queuing