> For the complete documentation index, see [llms.txt](https://docs.primeur.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.primeur.com/data-mover-1.20/transfer-protocols-and-connectors/jms-connector/aggregate-jms-messages-into-files/message-listener.md).

# Message listener

A **Message Listener** is activated automatically for each action configured in an input contract with an OnMessage trigger. The Message listener is created when the contract is saved.

Message listeners are listed in **Monitoring** → **Message Listener**.

<figure><img src="https://3170459594-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FptDwkwGfIbMhLdRlTAmx%2Fuploads%2Fn5jaeVHhTLfW0ITS6xwv%2Fimage.png?alt=media&amp;token=e0a79e55-e041-4738-b17e-9cad8f90f1db" alt="" width="563"><figcaption></figcaption></figure>

The Message listener uses the JMS Client Connection configured in the input contract to:

* connect to and listen on a specific queue
* receive incoming JMS messages as they arrive

Upon receiving messages, the Message listener applies the selected **Message Processing Rule** to aggregate messages into files.&#x20;

In the Message listener page, results can be filtered by:

* **Status** of the message listener: started, stopped or failed.
* **M2F Action**: the name of the contract action and the name of the contract are shown.
* **Protocol**: the JMS protocol is available.
* **STENG Cluster and Peer**: cluster and peer where the Message listener is active.

The Message listener’s activation is also visible in the **Central Log**.&#x20;

<figure><img src="https://3170459594-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FptDwkwGfIbMhLdRlTAmx%2Fuploads%2FYc1k8lhaiRQUUuUa3RvO%2Fimage.png?alt=media&amp;token=b491463a-dce4-41ae-b246-fca7d38e1ad1" alt="" width="563"><figcaption></figcaption></figure>

When the Message Listener is activated, the JMS provider will show the active consumer on the configured input contract queue.

## Setting Message listener parallelism

The Message listener can be activated for each STENG if the **Parallelism** parameter in the corresponding input contract action is configured by setting the toggle to ON. If the toggle is set to OFF, a single listener is activated for all STENGs.

You can find detailed information in the [Trigger type: OnMessage](/data-mover-1.20/workflow-templates/system-workflow-templates/workflow-templates-for-input-contracts.md#trigger-type-onmessage) section.
