The RabbitMQ Listener listens to RabbitMQ Queue for any incoming messages.
- On the Basic configuration tab, the users should specify the URI (Uniform Resource Identifier) of the RabbitMQ Provider (e.g. amqp://localhost), the Queue/Topic Name (the name of the queue/topic where the message should be placed), the name of the RabbitMQ Exchange and the pattern for matching messages. Also, the user should select the mode of the Listener work: Queue (Point-to-Point), Queue (Point-to-Point; Polling), Topic (Publish/Subscribe).
2. The Advanced tab allows you to specify:
Initialize on trigger only: If enabled, the Listener doesn’t start up until a trigger initializes it.
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 field enables a “First In, First Out” queuing mechanism between Listeners and Transports. If a “FIFO Queue Name” is provided, that name will be used as a key for a queue Transactions & will be pushed into before reaching a transport. They’ll be ordered in this queue according to when the Listener created them.
FIFO Queue Delay: It is the interval between updates/checks against that queue. Providing a queue name guarantees that a given Transport sends transactions in the same order the Listener created them in.
Synchronous Acknowledge: If enabled, message acknowledgment will not be sent until transport confirms that it has been processed.
Timeout: The maximum time allowed for the message to be processed before timing out and rejecting the message.
Max Concurrent Messages: The maximum number of sync ack messages that should be processed simultaneously.
Shutdown Timeout: The time allowed between ACK and NACK_REQUEUE before shutting down the Listener; or -1 if no limit.
Restart After Shutdown Delay: The delay before starting the listener back up; or -1 to not restart.
Prefetch Count: The maximum number of messages that the server will deliver; 0 if unlimited.
Automatic Recovery: If network failures should automatically be recovered.
Recovery Interval: The interval between network recovery attempts.
Heartbeat: If the heartbeat feature should be enabled.
Heartbeat Interval: The interval for heartbeat checks.
3. Transaction Logging – This tab allows us to enable transaction events logging. That data can be logged by a TransactionEventListener.
The Transaction Logging Enable checkbox allows transaction events originating from this listener to be logged by a TransactionEventListener.
Log Transaction Attribute – if enabled, logs transaction attributes.
Log Transaction Data – if enabled, logs transaction data body.
Log Transaction Data Base64 – if enabled, logs transaction data body as Base64.
4. The Declare configuration tab allows you to specify:
Durable: Are messages durable (survive RabbitMQ server).
Exclusive: Queue is exclusive to this connection.
Auto-Delete: Queue deleted when not in use.
Message TTL: How long a message published to a queue can live before it is discarded (milliseconds).
Auto Expire: How long a queue can be unused before it is automatically deleted (milliseconds).
Max Length: How long a queue can be unused before it is automatically deleted (milliseconds).
Dead Letter Exchange: The name of the exchange to send rejected messages to (must be set at time queue is created).