MSMQ Module
  • Updated on 05 May 2016
  • 1 minute to read
  • Print
  • Dark

MSMQ Module

  • Print
  • Dark


MSMQ is Microsoft Windows' built in message queuing system.  It allows for reliable delivery of messages to a software system.  Message services like this are used for application to application communication.  Decisions has a module for RabbitMQ which is extremely popular and easy to manage.  Some people prefer MSMQ because it is built into Windows. MSMQ must be installed on the machine in order for Decisions to communicate with the messaging system.

NOTE: With the MSMQ module you are still expected to deliver and receive byte[] data.  This allows for the greatest level of flexibility and predictability despite the fact that MSMQ makes it pretty simple for developers to serialize and deserialize directly into and out of a queue.  
Install the Decisions.MSMQ module from the System>Administration>Features.

This module has a group of settings so it requires a restart of SHM after module installation.
Once installed you can go to /System/Settings/ and you'll find Messaging: MSMQ Settings.

There are two things that most people will do with the Messaging system:

  1. Put messages into queues for other systems to work. or 2. Subscribe to queues to work on messages in them using flows.  
    Before you can start either of these you need to configure your queues:
    Each Queue you configure has the following properties:

  2. Queue Path - This should be a MSMQ valid path: Microsoft MSMQ Documentation

  3. Is Transactional - Check this if the queue is transactional

  4. Auto Create - Check this setting if you want Decisions to automatically create queues that do not exist.


Putting Messages into a Queue

Putting messages into a queue is simple, but messages need to be delivered through the built in steps as byte[].  If you need to send other data you can code custom steps against the Messaging Service.

Subscribe to Queues to Work Messages from Flows

Subscribing to queues using flows is detailed here:

Was this article helpful?