RabbitMQ

RabbitMQ

Scheme: rabbitmq
Syntax: rabbitmq:hostname:portNumber/exchangeName
Description: The rabbitmq component allows you produce and consume messages from RabbitMQ instances.
Deprecated:false
Async:true
Maven: org.apache.camel/camel-rabbitmq/2.18.1.redhat-000025

The rabbitmq component allows you produce and consume messages from RabbitMQ instances.

Name Kind Group Required Default Type Enum Description
hostname path common true java.lang.String The hostname of the running rabbitmq instance or cluster.
portNumber path common true 5672 int Port number for the host with the running rabbitmq instance or cluster. Default value is 5672.
exchangeName path common true java.lang.String The exchange name determines which exchange produced messages will sent to. In the case of consumers, the exchange name determines which exchange the queue will bind to.
autoDelete parameter common true boolean If it is true, the exchange will be deleted when it is no longer in use
connectionTimeout parameter common 60000 int Connection timeout
deadLetterExchange parameter common java.lang.String The name of the dead letter exchange
deadLetterExchangeType parameter common direct java.lang.String direct
fanout
headers
topic
The type of the dead letter exchange
deadLetterQueue parameter common java.lang.String The name of the dead letter queue
deadLetterRoutingKey parameter common java.lang.String The routing key for the dead letter exchange
declare parameter common true boolean If the option is true, camel declare the exchange and queue name and bind them together. If the option is false, camel won't declare the exchange and queue name on the server.
durable parameter common true boolean If we are declaring a durable exchange (the exchange will survive a server restart)
exchangeType parameter common direct java.lang.String direct
fanout
headers
topic
The exchange type such as direct or topic.
exclusive parameter common false boolean Exclusive queues may only be accessed by the current connection, and are deleted when that connection closes.
queue parameter common java.lang.String The queue to receive messages from
routingKey parameter common java.lang.String The routing key to use when binding a consumer queue to the exchange. For producer routing keys, you set the header rabbitmq.ROUTING_KEY.
skipExchangeDeclare parameter common boolean This can be used if we need to declare the queue but not the exchange
skipQueueBind parameter common boolean If true the queue will not be bound to the exchange after declaring it @return
skipQueueDeclare parameter common boolean If true the producer will not declare and bind a queue. This can be used for directing messages via an existing routing key.
vhost parameter common / java.lang.String The vhost for the channel
autoAck parameter consumer true boolean If messages should be auto acknowledged
bridgeErrorHandler parameter consumer boolean Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN/ERROR level and ignored.
concurrentConsumers parameter consumer 1 int Number of concurrent consumers when consuming from broker. (eg similar as to the same option for the JMS component).
prefetchCount parameter consumer int The maximum number of messages that the server will deliver, 0 if unlimited. You need to specify the option of prefetchSize, prefetchCount, prefetchGlobal at the same time
prefetchEnabled parameter consumer boolean Enables the quality of service on the RabbitMQConsumer side. You need to specify the option of prefetchSize, prefetchCount, prefetchGlobal at the same time
prefetchGlobal parameter consumer boolean If the settings should be applied to the entire channel rather than each consumer You need to specify the option of prefetchSize, prefetchCount, prefetchGlobal at the same time
prefetchSize parameter consumer int The maximum amount of content (measured in octets) that the server will deliver, 0 if unlimited. You need to specify the option of prefetchSize, prefetchCount, prefetchGlobal at the same time
exceptionHandler parameter consumer (advanced) org.apache.camel.spi.ExceptionHandler To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions, that will be logged at WARN/ERROR level and ignored.
exchangePattern parameter consumer (advanced) org.apache.camel.ExchangePattern InOnly
RobustInOnly
InOut
InOptionalOut
OutOnly
RobustOutOnly
OutIn
OutOptionalIn
Sets the exchange pattern when the consumer creates an exchange.
threadPoolSize parameter consumer (advanced) 10 int The consumer uses a Thread Pool Executor with a fixed number of threads. This setting allows you to set that number of threads.
bridgeEndpoint parameter producer boolean If the bridgeEndpoint is true, the producer will ignore the message header of "rabbitmq.EXCHANGE_NAME" and "rabbitmq.ROUTING_KEY"
channelPoolMaxSize parameter producer 10 int Get maximum number of opened channel in pool
channelPoolMaxWait parameter producer 1000 long Set the maximum number of milliseconds to wait for a channel from the pool
guaranteedDeliveries parameter producer boolean When true, an exception will be thrown when the message cannot be delivered (basic.return) and the message is marked as mandatory. PublisherAcknowledgement will also be activated in this case See also publisher acknowledgements - When will messages be confirmed?
immediate parameter producer boolean This flag tells the server how to react if the message cannot be routed to a queue consumer immediately. If this flag is set, the server will return an undeliverable message with a Return method. If this flag is zero, the server will queue the message, but with no guarantee that it will ever be consumed.

If the header is present rabbitmq.IMMEDIATE it will override this option.

mandatory parameter producer boolean This flag tells the server how to react if the message cannot be routed to a queue. If this flag is set, the server will return an unroutable message with a Return method. If this flag is zero, the server silently drops the message.

If the header is present rabbitmq.MANDATORY it will override this option.

publisherAcknowledgements parameter producer boolean When true, the message will be published with publisher acknowledgements turned on
publisherAcknowledgementsTimeout parameter producer long The amount of time in milliseconds to wait for a basic.ack response from RabbitMQ server
addresses parameter advanced com.rabbitmq.client.Address[] If this option is set, camel-rabbitmq will try to create connection based on the setting of option addresses. The addresses value is a string which looks like "server1:12345, server2:12345"
automaticRecoveryEnabled parameter advanced java.lang.Boolean Enables connection automatic recovery (uses connection implementation that performs automatic recovery when connection shutdown is not initiated by the application)
clientProperties parameter advanced java.util.Map Connection client properties (client info used in negotiating with the server)
connectionFactory parameter advanced com.rabbitmq.client.ConnectionFactory To use a custom RabbitMQ connection factory. When this option is set, all connection options (connectionTimeout, requestedChannelMax...) set on URI are not used
exchangeArgsConfigurer parameter advanced org.apache.camel.component.rabbitmq.ArgsConfigurer Set the configurer for setting the exchange args in Channel.exchangeDeclare
networkRecoveryInterval parameter advanced java.lang.Integer Network recovery interval in milliseconds (interval used when recovering from network failure)
queueArgsConfigurer parameter advanced org.apache.camel.component.rabbitmq.ArgsConfigurer Set the configurer for setting the queue args in Channel.queueDeclare
requestedChannelMax parameter advanced 0 int Connection requested channel max (max number of channels offered)
requestedFrameMax parameter advanced 0 int Connection requested frame max (max size of frame offered)
requestedHeartbeat parameter advanced 60 int Connection requested heartbeat (heart-beat in seconds offered)
requestTimeout parameter advanced long Set timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds)
requestTimeoutCheckerInterval parameter advanced long Set requestTimeoutCheckerInterval for inOut exchange
synchronous parameter advanced false boolean Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).
topologyRecoveryEnabled parameter advanced java.lang.Boolean Enables connection topology recovery (should topology recovery be performed?)
transferException parameter advanced boolean When true and an inOut Exchange failed on the consumer side send the caused Exception back in the response
password parameter security guest java.lang.String Password for authenticated access
sslProtocol parameter security java.lang.String Enables SSL on connection, accepted value are `true`, `TLS` and 'SSLv3`
trustManager parameter security javax.net.ssl.TrustManager Configure SSL trust manager, SSL should be enabled for this option to be effective
username parameter security guest java.lang.String Username in case of authenticated access

rabbitmq consumer