// kafka-connector options: START
[[camel-spring-rabbitmq-kafka-connector-sink]]
= camel-spring-rabbitmq-kafka-connector sink configuration

Connector Description: Send and receive messages from RabbitMQ using Spring RabbitMQ client.

When using camel-spring-rabbitmq-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:

[source,xml]
----
<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-spring-rabbitmq-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>
----

To use this Sink connector in Kafka connect you'll need to set the following connector.class

[source,java]
----
connector.class=org.apache.camel.kafkaconnector.springrabbitmq.CamelSpringrabbitmqSinkConnector
----


The camel-spring-rabbitmq sink connector supports 23 options, which are listed below.



[width="100%",cols="2,5,^1,1,1",options="header"]
|===
| Name | Description | Default | Required | Priority
| *camel.sink.path.exchangeName* | The exchange name determines the exchange to which the produced messages will be sent to. In the case of consumers, the exchange name determines the exchange the queue will be bound to. Note: to use default exchange then do not use empty name, but use default instead. | null | true | HIGH
| *camel.sink.endpoint.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | false | MEDIUM
| *camel.sink.endpoint.disableReplyTo* | Specifies whether Camel ignores the ReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the ReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message brokers and you want to route message from one system to another. | false | false | MEDIUM
| *camel.sink.endpoint.routingKey* | The value of a routing key to use. Default is empty which is not helpful when using the default (or any direct) exchange, but fine if the exchange is a headers exchange for instance. | null | false | MEDIUM
| *camel.sink.endpoint.testConnectionOnStartup* | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. | false | false | MEDIUM
| *camel.sink.endpoint.lazyStartProducer* | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | false | MEDIUM
| *camel.sink.endpoint.replyTimeout* | Specify the timeout in milliseconds to be used when waiting for a reply message when doing request/reply messaging. The default value is 5 seconds. A negative value indicates an indefinite timeout. | 5000L | false | MEDIUM
| *camel.sink.endpoint.usePublisherConnection* | Use a separate connection for publishers and consumers | false | false | MEDIUM
| *camel.sink.endpoint.args* | Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each element: arg.consumer. arg.exchange. arg.queue. arg.binding. arg.dlq.exchange. arg.dlq.queue. arg.dlq.binding. For example to declare a queue with message ttl argument: args=arg.queue.x-message-ttl=60000 | null | false | MEDIUM
| *camel.sink.endpoint.messageConverter* | To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message. | null | false | MEDIUM
| *camel.sink.endpoint.messagePropertiesConverter* | To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties. | null | false | MEDIUM
| *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used | false | false | MEDIUM
| *camel.component.spring-rabbitmq.amqpAdmin* | Optional AMQP Admin service to use for auto declaring elements (queues, exchanges, bindings) | null | false | MEDIUM
| *camel.component.spring-rabbitmq.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | false | MEDIUM
| *camel.component.spring-rabbitmq.testConnectionOn Startup* | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. | false | false | MEDIUM
| *camel.component.spring-rabbitmq.allowNullBody* | Whether to allow sending messages with no body. If this option is false and the message body is null, then an MessageConversionException is thrown. | false | false | MEDIUM
| *camel.component.spring-rabbitmq.lazyStartProducer* | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | false | MEDIUM
| *camel.component.spring-rabbitmq.replyTimeout* | Specify the timeout in milliseconds to be used when waiting for a reply message when doing request/reply messaging. The default value is 5 seconds. A negative value indicates an indefinite timeout. | 5000L | false | MEDIUM
| *camel.component.spring-rabbitmq.autowiredEnabled* | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | false | MEDIUM
| *camel.component.spring-rabbitmq.ignoreDeclaration Exceptions* | Switch on ignore exceptions such as mismatched properties when declaring | false | false | MEDIUM
| *camel.component.spring-rabbitmq.messageConverter* | To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message. | null | false | MEDIUM
| *camel.component.spring-rabbitmq.messageProperties Converter* | To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties. | null | false | MEDIUM
| *camel.component.spring-rabbitmq.headerFilter Strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. | null | false | MEDIUM
|===



The camel-spring-rabbitmq sink connector has no converters out of the box.





The camel-spring-rabbitmq sink connector has no transforms out of the box.





The camel-spring-rabbitmq sink connector has no aggregation strategies out of the box.




// kafka-connector options: END
