Element <rabbitmq-exporter>¶
Purpose: Declare a RabbitMQ publisher target used by generated product streams.
Why: Use it to publish confirmed messages through a configured RabbitMQ route.
Example¶
1 | |
Decision guide¶
Business value: Publishes records through an AMQP exchange and route with broker confirmation.
-
Use when
- A generated product must be routed to RabbitMQ and publication must be confirmed.
-
Choose another approach when
- The target is Kafka, a file artifact, or a database.
-
Prerequisites
- Provide broker connectivity and a broker-managed exchange/routing contract.
-
Alternatives
- Use kafka-exporter for partitioned topic publication. (See:
<kafka-exporter>)
- Use kafka-exporter for partitioned topic publication. (See:
Complete examples¶
Consume a bounded queue and publish confirmed messages
Use a count-bounded importer for available queue messages and a separate confirmed exporter route; keep durable topology broker-managed and credentials secret-backed by default.
| rabbitmq-roundtrip/datamimic.xml | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Rules and invalid combinations¶
I939 β Export RabbitMQ TLS Failed
RabbitMQ TLS/SSL handshake failed for exchange '{exchange}': {reason}
Why: The RabbitMQ exporter failed the TLS/SSL handshake while publishing messages.
Resolution: Verify RabbitMQ certificates, trust chain, hostname validation, and TLS settings.
I940 β Export RabbitMQ Authentication Failed
RabbitMQ authentication failed for exchange '{exchange}': {reason}
Why: The RabbitMQ exporter could not authenticate with the configured credentials.
Resolution: Verify the RabbitMQ user and password for the exporter connection.
I941 β Export RabbitMQ Authorization Failed
RabbitMQ authorization failed for exchange '{exchange}': {reason}
Why: The RabbitMQ exporter is authenticated but lacks permission to publish to the exchange.
Resolution: Grant the configured user write access to the virtual host and exchange.
I942 β Export RabbitMQ Network Failed
RabbitMQ network connectivity failed for exchange '{exchange}': {reason}
Why: The RabbitMQ exporter could not reach the configured broker endpoint.
Resolution: Verify RabbitMQ host, port, DNS, routing, and firewall connectivity.
I943 β Export RabbitMQ Timeout
RabbitMQ publish timed out for exchange '{exchange}': {reason}
Why: The RabbitMQ export operation exceeded its timeout while publishing messages.
Resolution: Retry the operation or tune RabbitMQ connection, heartbeat, and blocked-connection timeouts.
I944 β Export RabbitMQ Exchange Not Found
RabbitMQ exchange '{exchange}' not found or inaccessible: {reason}
Why: The configured RabbitMQ exchange does not exist or cannot be accessed by the exporter.
Resolution: Verify the exchange exists and the configured user can access it.
I945 β Export RabbitMQ Message Unroutable
RabbitMQ could not route a message through exchange '{exchange}' with routing key '{routing_key}': {reason}
Why: The broker returned a mandatory message because no queue binding matched its routing key.
Resolution: Create a matching queue binding or correct the exchange and routing key.
I946 β Export RabbitMQ Write Failed
RabbitMQ write failed through exchange '{exchange}' with routing key '{routing_key}': {reason}
Why: The RabbitMQ exporter encountered an unclassified publish or shutdown failure.
Resolution: Inspect RabbitMQ broker/client logs and exporter configuration, then retry.
Allowed parents / Allowed children¶
Allowed parents: else, else-if, if, setup, while
Allowed children:
None
Related concepts and use cases¶
- Choose a source and target β Guides users and agents from an input ownership boundary and intended side effect to one bounded source and target contract.
- RabbitMQ bounded source and target β Explains bounded RabbitMQ consumption, competing-consumer ordering, broker-owned topology, publisher confirms, and unsupported finite-pool options.
Attributes¶
Show all 25 attributes
allow_auto_declare_queue
Declare the configured RabbitMQ queue when the client first uses it.
optional; boolean; Default: false.
auto_delete
Delete the declared queue after its last consumer disconnects.
optional; boolean; Default: false.
blocked_connection_timeout
Maximum seconds to wait while RabbitMQ blocks the connection.
optional; integer; Default: null.
connection_attempts
Number of AMQP connection attempts before reporting failure.
optional; integer; Default: null.
environment
Environment label for this RabbitMQ configuration.
optional; string; Default: null.
exchange
RabbitMQ exchange to which messages are published.
optional; string; Default: "".
exclusive
Restrict the declared queue to this connection.
optional; boolean; Default: false.
heartbeat
AMQP heartbeat interval in seconds.
optional; integer; Default: null.
host
RabbitMQ broker hostname or IP address.
optional; string.
id
RabbitMQ exporter identifier.
required; string.
mandatory
Require RabbitMQ to return messages that cannot be routed.
optional; boolean; Default: true.
password
Password used for RabbitMQ authentication.
optional; string; Default: "".
port
RabbitMQ AMQP port.
optional; integer.
queue_expires_ms
Delete the declared queue after this many unused milliseconds.
optional; integer; Default: null.
retry_delay
Seconds to wait between RabbitMQ connection attempts.
optional; integer; Default: null.
routing_key
Routing key used to publish each message.
required; string.
ssl_cafile
Path to the CA certificate file used to verify RabbitMQ.
optional; string; Default: null.
ssl_certfile
Path to the client TLS certificate file.
optional; string; Default: null.
ssl_check_hostname
Verify that the broker certificate matches the requested hostname.
optional; boolean; Default: null.
ssl_enabled
Enable TLS for the RabbitMQ connection.
optional; boolean; Default: null.
ssl_keyfile
Path to the client TLS private-key file.
optional; string; Default: null.
ssl_keyfile_password
Password used to decrypt the client TLS private key.
optional; string; Default: null.
system
System identifier for this RabbitMQ configuration.
optional; string; Default: null.
user
User used for RabbitMQ authentication.
optional; string.
virtual_host
RabbitMQ virtual host containing the queue or exchange.
optional; string; Default: "/".