Processor that acts as a RabbitMQ producer to publish data to a given RabbitMQ broker.


Name Summary


Adds a name to a list of exchange properties that will be put in the message headers. Optional and defaults to an empty set.


A list of host/port pairs to use for establishing the initial connection to a RabbitMQ server. Required and must be in the form of host1:port1,host2:port2, etc.


Name of the RabbitMQ exchange where data should be published. Optional, but if not specified, a nameless exchange is used. In such a case, the routing key becomes the queue name.


Optional routing key. However, if a nameless exchange is used, the routing key is required and must be the queue name to use.


Key from the server configuration used to look up the credentials needed to connect to the RabbitMQ broker. Optional.


Name of the RabbitMQ virtual host. Optional.


Connection timeout value. Optional. A default configured value is used if not present.


Socket timeout value. Optional. A default configured value is used if not present.


Whether incoming payload should be passed to the output of the processor. Defaults to false (i.e., input is not forwarded to output).


Whether to enable encryption for the RabbitMQ session. Optional and not enabled by default. sslAuthenticationConfigKey should be used if the certificate used by the RabbitMQ server is not signed by a trusted cert authority, or another TLS/SSL configuration is required.


Key from the server configuration used to look up SSL credentials for server and client authentication. Optional. Only used if the flag useEncryptedConnection is set to true.


Optional, descriptive name for the processor.


Required identifier of the processor, unique across all processors within the flow. Must be between 3 and 30 characters long; contain only lower and uppercase alphabetical characters (a-z and A-Z), numbers, dashes ("-"), and underscores ("_"); and start with an alphabetical character. In other words, it adheres to the regex pattern [a-zA-Z][a-zA-Z0-9_-]{2,29}.


Optional set of custom properties in a simple jdk-format, that are added to the message exchange properties before processing the incoming payload. Any existing properties with the same name will be replaced by properties defined here.


Whether the incoming payload is available for error processing on failure. Defaults to false.


Name Summary


Strategy for providing message processing hints to the server. Optional.


Strategy for describing the external system integration. Optional.


Strategy for configuring the processor’s circuit breaker. Optional.


Strategy for describing how a processor’s message is logged on the server.


Strategy for archiving payloads.


Strategy that customizes the conversion of an incoming payload by a processor (e.g., string to object). Should be used when the processor’s default conversion logic cannot be used.



The authenticationConfigKey property supports secrets of type UserNameAndPassword. See the Secret Types documentation for formatting details.

TLS (SSL) Configuration

The RabbitMQ producer can be configured to use TLS/SSL on the transport level. :imageprefix:

If the target service is using a valid SSL certificate, signed by a trusted CA, there is no need for additional configuration. However, configuration must be provided if you require one of the following features:

  • Providing a client certificate (if requested by the server).

  • Providing a truststore for server certificate validation. This is useful, for example, when the root certificate has not been signed by a trusted CA.

  • Limiting the server certificate to a specified public key.

  • Accepting a self-signed server certificate.

  • Accepting a server certificate issued for a host other than the one being requested.

To enable these features, the sslAuthenticationConfigKey property must be set and point to a secret of type Tls. See the Secret Types documentation for formatting details.

Client Key Store Usage

RabbitMQ supports the following types of client key store usage: