> ## Documentation Index
> Fetch the complete documentation index at: https://docs.streamnative.io/llms.txt
> Use this file to discover all available pages before exploring further.

> The RabbitMQ source connector receives messages from RabbitMQ clusters and writes messages to Pulsar topics

# Rabbitmq source

The RabbitMQ source connector receives messages from RabbitMQ clusters and writes messages to Pulsar topics.

# Configuration

The configuration of the RabbitMQ source connector has the following properties.

## Property

| Name | Type | Required | Sensitive | Default | Description |
| - | - | - | - | - | - |
| `connectionName` | String | true | false | " " (empty string) | The connection name. |
| `host` | String | true | false | " " (empty string) | The RabbitMQ host. |
| `port` | int | true | false | 5672 | The RabbitMQ port. |
| `virtualHost` | String | true | false | / | The virtual host used to connect to RabbitMQ. |
| `username` | String | false | true | guest | The username used to authenticate to RabbitMQ. |
| `password` | String | false | true | guest | The password used to authenticate to RabbitMQ. |
| `queueName` | String | true | false | " " (empty string) | The RabbitMQ queue name that messages should be read from or written to. |
| `requestedChannelMax` | int | false | false | 0 | The initially requested maximum channel number. <br /><br />0 means unlimited. |
| `requestedFrameMax` | int | false | false | 0 | The initially requested maximum frame size in octets. <br /><br />0 means unlimited. |
| `connectionTimeout` | int | false | false | 60000 | The timeout of TCP connection establishment in milliseconds. <br /><br />0 means infinite. |
| `handshakeTimeout` | int | false | false | 10000 | The timeout of AMQP0-9-1 protocol handshake in milliseconds. |
| `requestedHeartbeat` | int | false | false | 60 | The requested heartbeat timeout in seconds. |
| `prefetchCount` | int | false | false | 0 | The maximum number of messages that the server delivers.<br /><br /> 0 means unlimited. |
| `prefetchGlobal` | boolean | false | false | false | Whether the setting should be applied to the entire channel rather than each consumer. |

## Example

Before using the RabbitMQ source connector, you need to create a configuration file through one of the following methods.

* JSON

  ```json theme={null}
  {
      "host": "localhost",
      "port": "5672",
      "virtualHost": "/",
      "username": "guest",
      "password": "guest",
      "queueName": "test-queue",
      "connectionName": "test-connection",
      "requestedChannelMax": "0",
      "requestedFrameMax": "0",
      "connectionTimeout": "60000",
      "handshakeTimeout": "10000",
      "requestedHeartbeat": "60",
      "prefetchCount": "0",
      "prefetchGlobal": "false"
  }
  ```

* YAML

  ```yaml theme={null}
  configs:
      host: "localhost"
      port: 5672
      virtualHost: "/"
      username: "guest"
      password: "guest"
      queueName: "test-queue"
      connectionName: "test-connection"
      requestedChannelMax: 0
      requestedFrameMax: 0
      connectionTimeout: 60000
      handshakeTimeout: 10000
      requestedHeartbeat: 60
      prefetchCount: 0
      prefetchGlobal: "false"
  ```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.