Apache Pulsar Inbound Endpoint Reference¶
This reference page documents all the configuration parameters supported by the Apache Pulsar Inbound Endpoint. These parameters control how the inbound endpoint connects to the Pulsar server, what topics it subscribes to, the subscription type, message processing modes, and more. Use this table as a guide when configuring your inbound endpoint to ensure seamless and reliable integration with Apache Pulsar.
Parameter | Display Name | Description | Required |
---|---|---|---|
topicNames | Topic(s) | Specifies a comma-separated list of Pulsar topic names to which the message is consumed. The Topic field has the following format: {persistent|non-persistent}://tenant/namespace/topic The first segment is the type of topic. The topic can be persistent or non-persistent. With persistent topics, all the messages are persisted to the disk. The second segment is the name of the domain or a tenant. The third segment is the namespace within the domain and the fourth segment is the name of the individual topic. |
No |
topicsPattern | Topics Pattern | Defines a regular expression pattern to match multiple topic names dynamically. This parameter is mutually exclusive with topicNames ; only one of topicsPattern or topicNames should be specified. |
No |
subscriptionName | Subscription Name | Unique identifier for the subscription. This name is used to track the consumer's position and state within the topic, allowing message delivery to resume from the last acknowledged message. | Yes |
subscriptionType | Subscription Type | Specifies the subscription mode for the consumer. Options include Exclusive (single consumer), Shared (round-robin across consumers), Failover (active-passive), and Key_Shared (key-based routing). The default value is Exclusive . |
No |
subscriptionTopicsMode | Subscription Topics Mode |
Determines which types of topics the consumer subscribes to: AllTopics (both persistent and non-persistent), PersistentOnly , or NonPersistentOnly .This parameter is required when topicsPattern ; is used and has no effect if topicNames is specified.
|
No |
subscriptionInitialPosition | Subscription Initial Position | Sets the initial position in the topic when the subscription is created. Choose Latest to start from new messages or Earliest to consume from the beginning of the topic. |
No |
contentType | Message Content Type | Indicates the expected content type of incoming Pulsar messages, such as application/json or text/plain . This helps with message parsing and processing. |
Yes |
messageWaitTimeout | Message Wait Timeout (in milliseconds) | Maximum duration (in milliseconds) the consumer will wait for a message before timing out. Useful for controlling polling behavior in synchronous receive operations. | No |
processingMode | Processing Mode | Specifies whether messages are processed synchronously (Sync) or asynchronously (Async). Async mode can improve throughput by processing multiple messages concurrently. | No |
ackTimeoutMillis | Ack Timeout (in milliseconds) | Time limit (in milliseconds) for the consumer to acknowledge a message. If the timeout is exceeded, the message will be redelivered to another consumer. | No |
nackRedeliveryDelay | Nack Redelivery Delay | Specifies the delay (in milliseconds) before a negatively acknowledged message is redelivered to the consumer. Helps control retry intervals for failed messages. | No |
dlqTopic | DLQ Topic | Name of the Dead Letter Queue (DLQ) topic where messages that cannot be processed successfully after a maximum number of attempts are sent for further analysis or handling. | No |
dlqMaxRedeliverCount | DLQ Max Redeliver Count | Maximum number of times a message will be redelivered before being routed to the DLQ. Prevents infinite redelivery loops for problematic messages. | No |
batchReceiveEnabled | Receive in Batch | Enables batch receiving mode, allowing the consumer to receive multiple messages in a single call, which can improve throughput and reduce network overhead. | No |
batchingMaxMessages | Batching Max Messages | Sets the maximum number of messages that can be included in a single batch when batch receiving is enabled. | No |
batchingMaxBytes | Batching Max Bytes | Defines the maximum total size (in bytes) of messages in a batch. Batching will be triggered if this size is reached before the max messages or timeout. | No |
batchingTimeout | Batching Timeout (in milliseconds) | Specifies the maximum time (in milliseconds) to wait before delivering a batch, even if the batch is not full. Ensures timely message delivery. | No |
batchIndexAckEnabled | Enable Batch Index Acknowledgment | Enables acknowledgment at the individual message index level within a batch, allowing for more granular message processing and redelivery. | No |
maxPendingChunkedMessage | Max Pending Chunked Message | Maximum number of incomplete chunked messages that can be pending at any time. Helps control memory usage when handling large messages split into chunks. | No |
expiryTimeOfIncompleteChunkedMessageMillis | Expiry Time Of Incomplete Chunked Message (in milliseconds) | Time limit (in milliseconds) for assembling a complete chunked message. Incomplete messages exceeding this time will be discarded. | No |
autoAckOldestChunkedMessageOnQueueFull | Auto Ack Oldest Chunked Message On Queue Full | Automatically acknowledges and removes the oldest incomplete chunked message when the pending queue is full, preventing resource exhaustion. | No |
autoUpdatePartitions | Auto Update Partitions | Enables automatic detection and subscription to new partitions for partitioned topics, ensuring the consumer receives messages from all partitions. | No |
autoUpdatePartitionsIntervalSeconds | Auto Update Partitions Interval (in seconds) | Interval (in seconds) at which the consumer checks for new partitions in partitioned topics and updates its subscription accordingly. | No |
receiverQueueSize | Receiver Queue Size | Number of messages that can be queued by the consumer before being processed. Larger values can improve throughput but increase memory usage. | No |
maxTotalReceiverQueueSizeAcrossPartitions | Max Total Receiver Queue Size Across Partitions | Sets the maximum combined receiver queue size for all partitions of a partitioned topic, helping to control overall memory consumption. | No |
replicateSubscriptionState | Replicate Subscription State | Enables replication of the subscription state across multiple Pulsar clusters, supporting geo-replication and disaster recovery scenarios. | No |
readCompacted | Read Compacted | Configures the consumer to read only the latest value for each key from a compacted topic, reducing the number of messages delivered and improving efficiency. | No |