Chapter 266. Apache Pulsar Component

Important

The camel-pulsar component is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production.

These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. For more information about the support scope of Red Hat Technology Preview features, see https://access.redhat.com/support/offerings/techpreview.

Available as of Camel version 2.24

Maven users will need to add the following dependency to their pom.xml for this component.

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-pulsar</artifactId>
    <!-- use the same version as your Camel core version -->
    <version>x.y.z</version>
</dependency>

266.1. URI format

pulsar:[persistent|non-persistent]://tenant/namespace/topic

266.2. Options

The Apache Pulsar component supports 3 options, which are listed below.

NameDescriptionDefaultType

autoConfiguration (common)

The pulsar autoconfiguration

 

AutoConfiguration

pulsarClient (common)

The pulsar client

 

PulsarClient

resolveProperty Placeholders (advanced)

Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders.

true

boolean

The Apache Pulsar endpoint is configured using URI syntax:

pulsar:uri

with the following path and query parameters:

266.2.1. Path Parameters (1 parameters):

NameDescriptionDefaultType

topicUri

The Topic’s full URI path including type, tenant and namespace

 

String

266.2.2. Query Parameters (11 parameters):

NameDescriptionDefaultType

bridgeErrorHandler (consumer)

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 or ERROR level and ignored.

false

boolean

consumerName (consumer)

Name of the consumer when subscription is EXCLUSIVE

sole-consumer

String

consumerNamePrefix (consumer)

Prefix to add to consumer names when a SHARED or FAILOVER subscription is used

cons

String

consumerQueueSize (consumer)

Size of the consumer queue - defaults to 10

10

int

numberOfConsumers (consumer)

Number of consumers - defaults to 1

1

int

subscriptionName (consumer)

Name of the subscription to use

subscription

String

subscriptionType (consumer)

Type of the subscription EXCLUSIVESHAREDFAILOVER, defaults to EXCLUSIVE

EXCLUSIVE

SubscriptionType

exceptionHandler (consumer)

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.

 

ExceptionHandler

exchangePattern (consumer)

Sets the exchange pattern when the consumer creates an exchange.

 

ExchangePattern

producerName (producer)

Name of the producer

default-producer

String

synchronous (advanced)

Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).

false

boolean

266.3. Spring Boot Auto-Configuration

The component supports 3 options, which are listed below.

NameDescriptionDefaultType

camel.component.pulsar.enabled

Whether to enable auto configuration of the pulsar component. This is enabled by default.

 

Boolean

camel.component.pulsar.pulsar-client

The pulsar client. The option is a org.apache.pulsar.client.api.PulsarClient type.

 

String

camel.component.pulsar.resolve-property-placeholders

Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders.

true

Boolean