Home > Pipeline Modules

Listeners

Each solution must have a minimum of one Listener. A Listener’s primary responsibility is to monitor a message source for incoming messages, and then hand them off to the Planner to determine how the message should be processed.

The following standard Listener Types are supported and can be configured to meet your needs:

If you have something that is unique for your implementation, you can create a custom Listener that monitors your unique channel and then hands these off to the planner to leverage existing processing.

It is important that a Listener listens for a full message. If the message is sent over multiple TCP packets or datagrams, the Listener must ensure that all the bytes that make up the message are received prior to handing it off to the planner. All standard Listeners can be configured to do this by default. However, if you create your own Listener, you must ensure that this is the case.

Listeners can be configured to either immediately acknowledge the message as soon as it arrives or keep the connection open until the processing of the message has been completed.

With queue-based pipeline architecture, your Listener will almost always be a potential bottleneck and the most critical part of the system both in terms of high availability and performance.

Note: At this time, high availability architecture for the Listeners has been designed but not implemented. This includes geo-redundant load balancers. If you are in need of this, please Contact Us and we will work with you to help understand this approach and ensure that it is in place prior to your system going live.