camel-pulsar-kafka-connector source configuration

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

When using camel-pulsar-kafka-connector as source make sure to use the following Maven dependency to have support for the connector:

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-pulsar-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

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

connector.class=org.apache.camel.kafkaconnector.pulsar.CamelPulsarSourceConnector

The camel-pulsar source connector supports 55 options, which are listed below.

Name Description Default Priority

camel.source.path.persistence

Required Whether the topic is persistent or non-persistent One of: [persistent] [non-persistent].

Enum values:

  • persistent

  • non-persistent

HIGH

camel.source.path.tenant

Required The tenant.

HIGH

camel.source.path.namespace

Required The namespace.

HIGH

camel.source.path.topic

Required The topic.

HIGH

camel.source.endpoint.authenticationClass

The Authentication FQCN to be used while creating the client from URI.

MEDIUM

camel.source.endpoint.authenticationParams

The Authentication Parameters to be used while creating the client from URI.

MEDIUM

camel.source.endpoint.serviceUrl

The Pulsar Service URL to point while creating the client from URI.

MEDIUM

camel.source.endpoint.ackGroupTimeMillis

Group the consumer acknowledgments for the specified time in milliseconds - defaults to 100.

100L

MEDIUM

camel.source.endpoint.ackTimeoutMillis

Timeout for unacknowledged messages in milliseconds - defaults to 10000.

10000L

MEDIUM

camel.source.endpoint.allowManualAcknowledgement

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.

false

MEDIUM

camel.source.endpoint.bridgeErrorHandler

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

MEDIUM

camel.source.endpoint.consumerName

Name of the consumer when subscription is EXCLUSIVE.

"sole-consumer"

MEDIUM

camel.source.endpoint.consumerNamePrefix

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

"cons"

MEDIUM

camel.source.endpoint.consumerQueueSize

Size of the consumer queue - defaults to 10.

10

MEDIUM

camel.source.endpoint.deadLetterTopic

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.

MEDIUM

camel.source.endpoint.maxRedeliverCount

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.

MEDIUM

camel.source.endpoint.messageListener

Whether to use the messageListener interface, or to receive messages using a separate thread pool.

true

MEDIUM

camel.source.endpoint.negativeAckRedeliveryDelayMicros

Set the negative acknowledgement delay.

60000000L

MEDIUM

camel.source.endpoint.numberOfConsumers

Number of consumers - defaults to 1.

1

MEDIUM

camel.source.endpoint.numberOfConsumerThreads

Number of threads to receive and handle messages when using a separate thread pool.

1

MEDIUM

camel.source.endpoint.readCompacted

Enable compacted topic reading.

false

MEDIUM

camel.source.endpoint.subscriptionInitialPosition

Control the initial position in the topic of a newly created subscription. Default is latest message. One of: [EARLIEST] [LATEST].

Enum values:

  • EARLIEST

  • LATEST

"LATEST"

MEDIUM

camel.source.endpoint.subscriptionName

Name of the subscription to use.

"subs"

MEDIUM

camel.source.endpoint.subscriptionTopicsMode

Determines to which topics this consumer should be subscribed to - Persistent, Non-Persistent, or both. Only used with pattern subscriptions. One of: [PersistentOnly] [NonPersistentOnly] [AllTopics].

Enum values:

  • PersistentOnly

  • NonPersistentOnly

  • AllTopics

"PersistentOnly"

MEDIUM

camel.source.endpoint.subscriptionType

Type of the subscription EXCLUSIVESHAREDFAILOVERKEY_SHARED, defaults to EXCLUSIVE One of: [EXCLUSIVE] [SHARED] [FAILOVER] [KEY_SHARED].

Enum values:

  • EXCLUSIVE

  • SHARED

  • FAILOVER

  • KEY_SHARED

"EXCLUSIVE"

MEDIUM

camel.source.endpoint.topicsPattern

Whether the topic is a pattern (regular expression) that allows the consumer to subscribe to all matching topics in the namespace.

false

MEDIUM

camel.source.endpoint.exceptionHandler

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.

MEDIUM

camel.source.endpoint.exchangePattern

Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut].

Enum values:

  • InOnly

  • InOut

  • InOptionalOut

MEDIUM

camel.component.pulsar.authenticationClass

The Authentication FQCN to be used while creating the client from URI.

MEDIUM

camel.component.pulsar.authenticationParams

The Authentication Parameters to be used while creating the client from URI.

MEDIUM

camel.component.pulsar.configuration

Allows to pre-configure the Pulsar component with common options that the endpoints will reuse.

MEDIUM

camel.component.pulsar.serviceUrl

The Pulsar Service URL to point while creating the client from URI.

MEDIUM

camel.component.pulsar.ackGroupTimeMillis

Group the consumer acknowledgments for the specified time in milliseconds - defaults to 100.

100L

MEDIUM

camel.component.pulsar.ackTimeoutMillis

Timeout for unacknowledged messages in milliseconds - defaults to 10000.

10000L

MEDIUM

camel.component.pulsar.allowManualAcknowledgement

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.

false

MEDIUM

camel.component.pulsar.bridgeErrorHandler

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

MEDIUM

camel.component.pulsar.consumerName

Name of the consumer when subscription is EXCLUSIVE.

"sole-consumer"

MEDIUM

camel.component.pulsar.consumerNamePrefix

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

"cons"

MEDIUM

camel.component.pulsar.consumerQueueSize

Size of the consumer queue - defaults to 10.

10

MEDIUM

camel.component.pulsar.deadLetterTopic

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.

MEDIUM

camel.component.pulsar.maxRedeliverCount

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.

MEDIUM

camel.component.pulsar.messageListener

Whether to use the messageListener interface, or to receive messages using a separate thread pool.

true

MEDIUM

camel.component.pulsar.negativeAckRedeliveryDelayMicros

Set the negative acknowledgement delay.

60000000L

MEDIUM

camel.component.pulsar.numberOfConsumers

Number of consumers - defaults to 1.

1

MEDIUM

camel.component.pulsar.numberOfConsumerThreads

Number of threads to receive and handle messages when using a separate thread pool.

1

MEDIUM

camel.component.pulsar.readCompacted

Enable compacted topic reading.

false

MEDIUM

camel.component.pulsar.subscriptionInitialPosition

Control the initial position in the topic of a newly created subscription. Default is latest message. One of: [EARLIEST] [LATEST].

Enum values:

  • EARLIEST

  • LATEST

"LATEST"

MEDIUM

camel.component.pulsar.subscriptionName

Name of the subscription to use.

"subs"

MEDIUM

camel.component.pulsar.subscriptionTopicsMode

Determines to which topics this consumer should be subscribed to - Persistent, Non-Persistent, or both. Only used with pattern subscriptions. One of: [PersistentOnly] [NonPersistentOnly] [AllTopics].

Enum values:

  • PersistentOnly

  • NonPersistentOnly

  • AllTopics

"PersistentOnly"

MEDIUM

camel.component.pulsar.subscriptionType

Type of the subscription EXCLUSIVESHAREDFAILOVERKEY_SHARED, defaults to EXCLUSIVE One of: [EXCLUSIVE] [SHARED] [FAILOVER] [KEY_SHARED].

Enum values:

  • EXCLUSIVE

  • SHARED

  • FAILOVER

  • KEY_SHARED

"EXCLUSIVE"

MEDIUM

camel.component.pulsar.topicsPattern

Whether the topic is a pattern (regular expression) that allows the consumer to subscribe to all matching topics in the namespace.

false

MEDIUM

camel.component.pulsar.pulsarMessageReceiptFactory

Provide a factory to create an alternate implementation of PulsarMessageReceipt.

MEDIUM

camel.component.pulsar.autoConfiguration

The pulsar auto configuration.

MEDIUM

camel.component.pulsar.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

MEDIUM

camel.component.pulsar.pulsarClient

The pulsar client.

MEDIUM

The camel-pulsar source connector has no converters out of the box.

The camel-pulsar source connector has no transforms out of the box.

The camel-pulsar source connector has no aggregation strategies out of the box.