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:

<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

connector.class=org.apache.camel.kafkaconnector.springrabbitmq.CamelSpringrabbitmqSinkConnector

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

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.