One of 40+ Listeners/Connectors included in PilotFish’s Integration Engine is the MSMQ Listener that listens to an MSMQ queue for incoming messages. This Listener has three tabs: Basic, Advanced and Transaction Logging. The eiConsole supports data coming in through a Microsoft MQ queue.
Listener (Adapter) Configuration Drop-Down List
Basic MSMQ Listener Configuration Options
On the Basic tab you will be required to input:
- MSMQ Host Name – the hostname for the MSMQ queue
- MSMQ Queue Name – the exact path on the hostname that the queue exists at; must follow OS standards. Windows paths must be preceded by a leading ‘\’ slash.
- Receive Wait Interval – the amount of time in milliseconds the system waits for a message to be transmitted once it is in delivery. Minimum value of 1000 (one second).
MSMQ Listener Basic Configuration Options
Advanced MSMQ Listener Configuration Options
The Advanced tab allows you to specify whether or not you should only run the Listener when it is triggered externally, and how many elements should be serialized.
Also, you can set:
- Allow Command-Line Invocation – if enabled, the Listener can be invoked using the CLI client application
- Restart on Listening Error – if enabled, the Listener will be restarted after an error occurs
- FIFO Queue Name – the FIFO options enable a “First In, First Out” queuing mechanism between Listeners and Transports. If a FIFO Queue Name is provided, it will be used as a key for a transaction queue. Transactions will be written to this queue before they reach a Transport. The transactions in this queue will be ordered according to when they were created by the Listener.
- FIFO Queue Delay – this is the interval between updates or checks against that queue. Providing a queue name guarantees that a given Transport sends transactions in the same order that the Listener created them in.
MSMQ Listener Advanced Configuration Options
Transaction Logging MSMQ Listener Configuration Options
The Transaction Logging tab allows you to specify:
- Transaction Logging Enabled – if enabled, allows transaction events originating from this Listener to be logged by a TransactionEventListener
- Log Transaction Data – if enabled, logs transaction data body
- Log Transaction Data Base64 – if enabled, logs transaction data body as Base64
- Log Transaction Attributes – if enabled, logs transaction attributes
- Log All Attributes – if enabled, no attributes will be filtered
- Allowed Attributes – attributes which are allowed to be logged
MSMQ Listener Transaction Logging Configuration Options
Inactivity MSMQ Listener Configuration Options
The Inactivity tab allows you to specify:
- Enable Inactivity Monitor – check this box to enable inactivity monitoring. This will throw a non-transaction exception if the specified number of transactions haven’t been processed in the specified time interval.
- Min. Transactions to Expect – the number of transactions to expect to be completed per monitoring interval
- Monitoring Interval – how often to check the specified number of transactions that have been processed
- Times to Monitor – if set, monitoring will be done during the defined times of the day. To ignore, set start and end time equally.
- Days to Exclude from Monitoring – inactivity monitoring will not occur on the days specified
- Include Errors in Transaction Count – if checked, transactions that attempted to start, but failed at the Listener stage, will also be counted
MSMQ Listener Inactivity Configuration Options
Throttling MSMQ Listener Configuration Options
The Throttling tab allows you to specify:
- Throttling Mode – the throttling mode to use for limiting the number of transactions or messages emitted by this Listener. “Timed” will limit transactions based on time intervals, while “Concurrent” will limit based on a concurrent number of transactions. “Concurrent” mode requires a Throttling Response Processor step later in your interface workflow to acknowledge completion.
MSMQ Listener Throttling Mode
- Throttling Mechanism – the mechanism to use for throttling messages. “Blocking” prevents the Listener from continuing to process and emit messages altogether, while “queued” pushes received messages into the interface queue or a default, in-memory queue.
- Max Concurrent Messages – how many messages can be concurrently processed, either by time-based limits (allow X per second) or synchronous (allow X at any time)
- Timed Emission Interval – the interval for time-based limits (allow X per X timed emission interval)
- Synchronous Timeout Interval – the interval to wait for a synchronous response before failing
MSMQ Listener Throttling Configuration Options