[create-pull-request] automated change
diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pulsar.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pulsar.json
index d97c896..56e794e 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pulsar.json
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pulsar.json
@@ -32,8 +32,10 @@
"consumerQueueSize": { "kind": "property", "displayName": "Consumer Queue Size", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Size of the consumer queue - defaults to 10" },
"deadLetterTopic": { "kind": "property", "displayName": "Dead Letter Topic", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "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" },
"maxRedeliverCount": { "kind": "property", "displayName": "Max Redeliver Count", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "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": { "kind": "property", "displayName": "Message Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Whether to use the messageListener interface, or to receive messages using a separate thread pool" },
"negativeAckRedeliveryDelayMicros": { "kind": "property", "displayName": "Negative Ack Redelivery Delay Micros", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 60000000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Set the negative acknowledgement delay" },
"numberOfConsumers": { "kind": "property", "displayName": "Number Of Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Number of consumers - defaults to 1" },
+ "numberOfConsumerThreads": { "kind": "property", "displayName": "Number Of Consumer Threads", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Number of threads to receive and handle messages when using a separate thread pool" },
"readCompacted": { "kind": "property", "displayName": "Read Compacted", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Enable compacted topic reading." },
"subscriptionInitialPosition": { "kind": "property", "displayName": "Subscription Initial Position", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.utils.consumers.SubscriptionInitialPosition", "enum": [ "EARLIEST", "LATEST" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "LATEST", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Control the initial position in the topic of a newly created subscription. Default is latest message." },
"subscriptionName": { "kind": "property", "displayName": "Subscription Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "subs", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "configuration", "description": "Name of the subscription to use" },
@@ -73,8 +75,10 @@
"consumerQueueSize": { "kind": "parameter", "displayName": "Consumer Queue Size", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Size of the consumer queue - defaults to 10" },
"deadLetterTopic": { "kind": "parameter", "displayName": "Dead Letter Topic", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "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" },
"maxRedeliverCount": { "kind": "parameter", "displayName": "Max Redeliver Count", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "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": { "kind": "parameter", "displayName": "Message Listener", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Whether to use the messageListener interface, or to receive messages using a separate thread pool" },
"negativeAckRedeliveryDelayMicros": { "kind": "parameter", "displayName": "Negative Ack Redelivery Delay Micros", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 60000000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Set the negative acknowledgement delay" },
"numberOfConsumers": { "kind": "parameter", "displayName": "Number Of Consumers", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Number of consumers - defaults to 1" },
+ "numberOfConsumerThreads": { "kind": "parameter", "displayName": "Number Of Consumer Threads", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Number of threads to receive and handle messages when using a separate thread pool" },
"readCompacted": { "kind": "parameter", "displayName": "Read Compacted", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Enable compacted topic reading." },
"subscriptionInitialPosition": { "kind": "parameter", "displayName": "Subscription Initial Position", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.pulsar.utils.consumers.SubscriptionInitialPosition", "enum": [ "EARLIEST", "LATEST" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "LATEST", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Control the initial position in the topic of a newly created subscription. Default is latest message." },
"subscriptionName": { "kind": "parameter", "displayName": "Subscription Name", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "subs", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Name of the subscription to use" },
diff --git a/components-starter/camel-pulsar-starter/src/main/docs/pulsar-starter.adoc b/components-starter/camel-pulsar-starter/src/main/docs/pulsar-starter.adoc
index 37864c8..5b62e4f 100644
--- a/components-starter/camel-pulsar-starter/src/main/docs/pulsar-starter.adoc
+++ b/components-starter/camel-pulsar-starter/src/main/docs/pulsar-starter.adoc
@@ -17,7 +17,7 @@
----
-The component supports 37 options, which are listed below.
+The component supports 39 options, which are listed below.
@@ -47,9 +47,11 @@
| *camel.component.pulsar.max-pending-messages* | Size of the pending massages queue. When the queue is full, by default, any further sends will fail unless blockIfQueueFull=true | 1000 | Integer
| *camel.component.pulsar.max-pending-messages-across-partitions* | 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. | 50000 | Integer
| *camel.component.pulsar.max-redeliver-count* | 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 | | Integer
+| *camel.component.pulsar.message-listener* | Whether to use the messageListener interface, or to receive messages using a separate thread pool | true | Boolean
| *camel.component.pulsar.message-router* | Custom Message Router to use. The option is a org.apache.pulsar.client.api.MessageRouter type. | | MessageRouter
| *camel.component.pulsar.message-routing-mode* | Message Routing Mode to use | | MessageRoutingMode
| *camel.component.pulsar.negative-ack-redelivery-delay-micros* | Set the negative acknowledgement delay | 60000000 | Long
+| *camel.component.pulsar.number-of-consumer-threads* | Number of threads to receive and handle messages when using a separate thread pool | 1 | Integer
| *camel.component.pulsar.number-of-consumers* | Number of consumers - defaults to 1 | 1 | Integer
| *camel.component.pulsar.producer-name* | Name of the producer. If unset, lets Pulsar select a unique identifier. | | String
| *camel.component.pulsar.pulsar-client* | The pulsar client. The option is a org.apache.pulsar.client.api.PulsarClient type. | | PulsarClient
diff --git a/components-starter/camel-pulsar-starter/src/main/java/org/apache/camel/component/pulsar/springboot/PulsarComponentConfiguration.java b/components-starter/camel-pulsar-starter/src/main/java/org/apache/camel/component/pulsar/springboot/PulsarComponentConfiguration.java
index aeebe38..a6c2d4d 100644
--- a/components-starter/camel-pulsar-starter/src/main/java/org/apache/camel/component/pulsar/springboot/PulsarComponentConfiguration.java
+++ b/components-starter/camel-pulsar-starter/src/main/java/org/apache/camel/component/pulsar/springboot/PulsarComponentConfiguration.java
@@ -107,6 +107,11 @@
*/
private Integer maxRedeliverCount;
/**
+ * Whether to use the messageListener interface, or to receive messages
+ * using a separate thread pool
+ */
+ private Boolean messageListener = true;
+ /**
* Set the negative acknowledgement delay
*/
private Long negativeAckRedeliveryDelayMicros = 60000000L;
@@ -115,6 +120,11 @@
*/
private Integer numberOfConsumers = 1;
/**
+ * Number of threads to receive and handle messages when using a separate
+ * thread pool
+ */
+ private Integer numberOfConsumerThreads = 1;
+ /**
* Enable compacted topic reading.
*/
private Boolean readCompacted = false;
@@ -322,6 +332,14 @@
this.maxRedeliverCount = maxRedeliverCount;
}
+ public Boolean getMessageListener() {
+ return messageListener;
+ }
+
+ public void setMessageListener(Boolean messageListener) {
+ this.messageListener = messageListener;
+ }
+
public Long getNegativeAckRedeliveryDelayMicros() {
return negativeAckRedeliveryDelayMicros;
}
@@ -339,6 +357,14 @@
this.numberOfConsumers = numberOfConsumers;
}
+ public Integer getNumberOfConsumerThreads() {
+ return numberOfConsumerThreads;
+ }
+
+ public void setNumberOfConsumerThreads(Integer numberOfConsumerThreads) {
+ this.numberOfConsumerThreads = numberOfConsumerThreads;
+ }
+
public Boolean getReadCompacted() {
return readCompacted;
}
diff --git a/docs/modules/ROOT/pages/pulsar-starter.adoc b/docs/modules/ROOT/pages/pulsar-starter.adoc
index 37864c8..5b62e4f 100644
--- a/docs/modules/ROOT/pages/pulsar-starter.adoc
+++ b/docs/modules/ROOT/pages/pulsar-starter.adoc
@@ -17,7 +17,7 @@
----
-The component supports 37 options, which are listed below.
+The component supports 39 options, which are listed below.
@@ -47,9 +47,11 @@
| *camel.component.pulsar.max-pending-messages* | Size of the pending massages queue. When the queue is full, by default, any further sends will fail unless blockIfQueueFull=true | 1000 | Integer
| *camel.component.pulsar.max-pending-messages-across-partitions* | 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. | 50000 | Integer
| *camel.component.pulsar.max-redeliver-count* | 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 | | Integer
+| *camel.component.pulsar.message-listener* | Whether to use the messageListener interface, or to receive messages using a separate thread pool | true | Boolean
| *camel.component.pulsar.message-router* | Custom Message Router to use. The option is a org.apache.pulsar.client.api.MessageRouter type. | | MessageRouter
| *camel.component.pulsar.message-routing-mode* | Message Routing Mode to use | | MessageRoutingMode
| *camel.component.pulsar.negative-ack-redelivery-delay-micros* | Set the negative acknowledgement delay | 60000000 | Long
+| *camel.component.pulsar.number-of-consumer-threads* | Number of threads to receive and handle messages when using a separate thread pool | 1 | Integer
| *camel.component.pulsar.number-of-consumers* | Number of consumers - defaults to 1 | 1 | Integer
| *camel.component.pulsar.producer-name* | Name of the producer. If unset, lets Pulsar select a unique identifier. | | String
| *camel.component.pulsar.pulsar-client* | The pulsar client. The option is a org.apache.pulsar.client.api.PulsarClient type. | | PulsarClient
diff --git a/tooling/camel-spring-boot-dependencies/pom.xml b/tooling/camel-spring-boot-dependencies/pom.xml
index 20eb1db..6e53d59 100644
--- a/tooling/camel-spring-boot-dependencies/pom.xml
+++ b/tooling/camel-spring-boot-dependencies/pom.xml
@@ -4741,177 +4741,177 @@
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-benchmark</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-benchmark</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-core</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-core</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-distribution</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-docs</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-examples</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-common</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-common</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-jackson</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-jackson</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-jaxb</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-jaxb</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-jpa</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-jpa</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-jsonb</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-jsonb</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-xstream</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-persistence-xstream</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus-benchmark</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus-benchmark-deployment</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus-deployment</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus-jackson</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus-jackson-deployment</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus-jackson-integration-test</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus-jsonb</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus-jsonb-deployment</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-quarkus-jsonb-integration-test</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-spring-boot-autoconfigure</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-spring-boot-starter</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-test</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-test</artifactId>
- <version>8.8.0.Final</version>
+ <version>8.9.0.Final</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>