Skip to content

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
<rabbitmq-exporter id="orders-out" routing_key="orders.created"/>

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

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
<setup>
    <rabbitmq-importer id="orders_in"
                       system="rabbit_profile"
                       queue="{rabbitmq_input_queue}"
                       auto_ack="false"
                       prefetch_count="10"/>
    <rabbitmq-exporter id="orders_out"
                       system="rabbit_profile"
                       exchange=""
                       routing_key="{rabbitmq_output_queue}"/>
    <generate name="normalized_orders"
              source="orders_in"
              count="10"
              distribution="ordered"
              target="LogExporter,orders_out"/>
</setup>

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.

Full rule

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.

Full rule

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.

Full rule

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.

Full rule

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.

Full rule

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.

Full rule

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.

Full rule

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.

Full rule

Allowed parents / Allowed children

Allowed parents: else, else-if, if, setup, while

Allowed children:

None

  • 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: "/".