2 Home
gitea_admin edited this page 2026-03-11 14:41:53 +00:00

Pulsar

Send and receive messages from/to Apache Pulsar messaging system.

Metadata

Property Value
Scheme pulsar
Support Level Stable
Labels messaging
Version 4.10.2

Maven Dependency

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-pulsar</artifactId>
    <version>4.10.2</version>
</dependency>

Endpoint Properties

Name Type Required Default Description
persistence string Whether the topic is persistent or non-persistent
tenant string The tenant
namespace string The namespace
topic string The topic
authenticationClass string The Authentication FQCN to be used while creating the client from URI
authenticationParams string The Authentication Parameters to be used while creating the client from URI
serviceUrl string The Pulsar Service URL to point while creating the client from URI
ackGroupTimeMillis integer 100 Group the consumer acknowledgments for the specified time in milliseconds - defaults to 100
ackTimeoutMillis integer 10000 Timeout for unacknowledged messages in milliseconds - defaults to 10000
ackTimeoutRedeliveryBackoff object RedeliveryBackoff to use for ack timeout redelivery backoff.
allowManualAcknowledgement boolean false Whether to allow manual message acknowledgements. If this option is enabled, then messages are not acknowledged automatically after successful route completion. Instead, an instance of PulsarMessageReceipt is stored as a header on the org.apache.camel.Exchange. Messages can then be acknowledged using PulsarMessageReceipt at any time before the ackTimeout occurs.
consumerName string sole-consumer Name of the consumer when subscription is EXCLUSIVE
consumerNamePrefix string cons Prefix to add to consumer names when a SHARED or FAILOVER subscription is used
consumerQueueSize integer 10 Size of the consumer queue - defaults to 10
deadLetterTopic string Name of the topic where the messages which fail maxRedeliverCount times will be sent. Note: if not set, default topic name will be topicName-subscriptionName-DLQ
enableRetry boolean false To enable retry letter topic mode. The default retry letter topic uses this format: topicname-subscriptionname-RETRY
keySharedPolicy string Policy to use by consumer when using key-shared subscription type.
maxRedeliverCount integer Maximum number of times that a message will be redelivered before being sent to the dead letter queue. If this value is not set, no Dead Letter Policy will be created
messageListener boolean true Whether to use the messageListener interface, or to receive messages using a separate thread pool
negativeAckRedeliveryBackoff object RedeliveryBackoff to use for negative ack redelivery backoff.
negativeAckRedeliveryDelayMicros integer 60000000 Set the negative acknowledgement delay
numberOfConsumers integer 1 Number of consumers - defaults to 1
numberOfConsumerThreads integer 1 Number of threads to receive and handle messages when using a separate thread pool
readCompacted boolean false Enable compacted topic reading.
retryLetterTopic string Name of the topic to use in retry mode. Note: if not set, default topic name will be topicName-subscriptionName-RETRY
subscriptionInitialPosition object LATEST Control the initial position in the topic of a newly created subscription. Default is latest message.
subscriptionName string subs Name of the subscription to use
subscriptionTopicsMode object PersistentOnly Determines to which topics this consumer should be subscribed to - Persistent, Non-Persistent, or both. Only used with pattern subscriptions.
subscriptionType object EXCLUSIVE Type of the subscription EXCLUSIVESHAREDFAILOVERKEY_SHARED, defaults to EXCLUSIVE
topicsPattern boolean false Whether the topic is a pattern (regular expression) that allows the consumer to subscribe to all matching topics in the namespace
bridgeErrorHandler boolean false Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. Important: This is only possible if the 3rd party component allows Camel to be alerted if an exception was thrown. Some components handle this internally only, and therefore bridgeErrorHandler is not possible. In other situations we may improve the Camel component to hook into the 3rd party component and make this possible for future releases. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.
exceptionHandler object To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.
exchangePattern object Sets the exchange pattern when the consumer creates an exchange.
batcherBuilder object DEFAULT Control batching method used by the producer.
batchingEnabled boolean true Control whether automatic batching of messages is enabled for the producer.
batchingMaxMessages integer 1000 The maximum size to batch messages.
batchingMaxPublishDelayMicros integer 1000 The maximum time period within which the messages sent will be batched if batchingEnabled is true.
blockIfQueueFull boolean false Whether to block the producing thread if pending messages queue is full or to throw a ProducerQueueIsFullError
chunkingEnabled boolean false Control whether chunking of messages is enabled for the producer.
compressionType object NONE Compression type to use
hashingScheme string JavaStringHash Hashing function to use when choosing the partition to use for a particular message
initialSequenceId integer -1 The first message published will have a sequence Id of initialSequenceId 1.
maxPendingMessages integer 1000 Size of the pending massages queue. When the queue is full, by default, any further sends will fail unless blockIfQueueFull=true
maxPendingMessagesAcrossPartitions integer 50000 The maximum number of pending messages for partitioned topics. The maxPendingMessages value will be reduced if (number of partitions maxPendingMessages) exceeds this value. Partitioned topics have a pending message queue for each partition.
messageRouter object Custom Message Router to use
messageRoutingMode object RoundRobinPartition Message Routing Mode to use
producerName string Name of the producer. If unset, lets Pulsar select a unique identifier.
sendTimeoutMs integer 30000 Send timeout in milliseconds
lazyStartProducer boolean false 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.