> For the complete documentation index, see [llms.txt](https://docs.selfuel.digital/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.selfuel.digital/data-integration-with-nexus/nexus-elements/connectors/sink/rabbitmq.md).

# Rabbitmq

> Rabbitmq sink connector

### Description[​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#description) <a href="#description" id="description"></a>

Used to write data to Rabbitmq.

### Key features[​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#key-features) <a href="#key-features" id="key-features"></a>

* [ ] &#x20;exactly-once

### Options[​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#options) <a href="#options" id="options"></a>

| name                         | type    | required | default value |
| ---------------------------- | ------- | -------- | ------------- |
| host                         | string  | yes      | -             |
| port                         | int     | yes      | -             |
| virtual\_host                | string  | yes      | -             |
| username                     | string  | yes      | -             |
| password                     | string  | yes      | -             |
| queue\_name                  | string  | yes      | -             |
| url                          | string  | no       | -             |
| network\_recovery\_interval  | int     | no       | -             |
| topology\_recovery\_enabled  | boolean | no       | -             |
| automatic\_recovery\_enabled | boolean | no       | -             |
| use\_correlation\_id         | boolean | no       | false         |
| connection\_timeout          | int     | no       | -             |
| rabbitmq.config              | map     | no       | -             |
| common-options               |         | no       | -             |

#### host \[string][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#host-string) <a href="#host-string" id="host-string"></a>

the default host to use for connections

#### port \[int][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#port-int) <a href="#port-int" id="port-int"></a>

the default port to use for connections

#### virtual\_host \[string][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#virtual_host-string) <a href="#virtual_host-string" id="virtual_host-string"></a>

virtual host – the virtual host to use when connecting to the broker

#### username \[string][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#username-string) <a href="#username-string" id="username-string"></a>

the AMQP user name to use when connecting to the broker

#### password \[string][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#password-string) <a href="#password-string" id="password-string"></a>

the password to use when connecting to the broker

#### url \[string][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#url-string) <a href="#url-string" id="url-string"></a>

convenience method for setting the fields in an AMQP URI: host, port, username, password and virtual host

#### queue\_name \[string][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#queue_name-string) <a href="#queue_name-string" id="queue_name-string"></a>

the queue to write the message to

#### schema \[Config][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#schema-config) <a href="#schema-config" id="schema-config"></a>

**fields \[Config]**[**​**](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#fields-config)

the schema fields of upstream data.

#### network\_recovery\_interval \[int][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#network_recovery_interval-int) <a href="#network_recovery_interval-int" id="network_recovery_interval-int"></a>

how long will automatic recovery wait before attempting to reconnect, in ms

#### topology\_recovery\_enabled \[boolean][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#topology_recovery_enabled-boolean) <a href="#topology_recovery_enabled-boolean" id="topology_recovery_enabled-boolean"></a>

if true, enables topology recovery

#### automatic\_recovery\_enabled \[boolean][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#automatic_recovery_enabled-boolean) <a href="#automatic_recovery_enabled-boolean" id="automatic_recovery_enabled-boolean"></a>

if true, enables connection recovery

#### use\_correlation\_id \[boolean][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#use_correlation_id-boolean) <a href="#use_correlation_id-boolean" id="use_correlation_id-boolean"></a>

whether the messages received are supplied with a unique id to deduplicate messages (in case of failed acknowledgments).

#### connection\_timeout \[int][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#connection_timeout-int) <a href="#connection_timeout-int" id="connection_timeout-int"></a>

connection TCP establishment timeout in milliseconds; zero for infinite

#### rabbitmq.config \[map][​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#rabbitmqconfig-map) <a href="#rabbitmqconfig-map" id="rabbitmqconfig-map"></a>

In addition to the above parameters that must be specified by the RabbitMQ client, the user can also specify multiple non-mandatory parameters for the client, covering [all the parameters specified in the official RabbitMQ document](https://www.rabbitmq.com/configure.html).

#### common options[​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#common-options) <a href="#common-options" id="common-options"></a>

Sink plugin common parameters, please refer to [Sink Common Options](/data-integration-with-nexus/nexus-elements/connectors/sink/sink-common-options.md) for details

### Example[​](https://seatunnel.apache.org/docs/2.3.7/connector-v2/sink/Rabbitmq#example) <a href="#example" id="example"></a>

simple:

```
sink {
      RabbitMQ {
          host = "rabbitmq-e2e"
          port = 5672
          virtual_host = "/"
          username = "guest"
          password = "guest"
          queue_name = "test1"
          rabbitmq.config = {
            requested-heartbeat = 10
            connection-timeout = 10
          }
      }
}
```
