You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2021/01/23 11:12:28 UTC

[camel] 07/09: CAMEL-16020: camel-pulsar - Remove synchronous option.

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 2f3aaf3562d470e45feed4311bb54db20414f7b0
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Jan 23 11:02:16 2021 +0100

    CAMEL-16020: camel-pulsar - Remove synchronous option.
---
 .../camel/catalog/docs/pulsar-component.adoc       |   3 +-
 .../component/pulsar/PulsarEndpointConfigurer.java |   3 -
 .../component/pulsar/PulsarEndpointUriFactory.java |   3 +-
 .../org/apache/camel/component/pulsar/pulsar.json  |   3 +-
 .../src/main/docs/pulsar-component.adoc            |   3 +-
 .../camel/component/pulsar/PulsarEndpoint.java     |  11 --
 .../component/pulsar/PulsarMessageListener.java    |  12 +-
 .../pulsar/PulsarConsumerInAsynchronousTest.java   |   8 +-
 .../pulsar/PulsarConsumerInSynchronousTest.java    | 217 ---------------------
 .../endpoint/dsl/PulsarEndpointBuilderFactory.java |  97 ---------
 .../modules/ROOT/pages/pulsar-component.adoc       |   3 +-
 11 files changed, 9 insertions(+), 354 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/pulsar-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/pulsar-component.adoc
index 5f5e433..e956ee8 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/pulsar-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/pulsar-component.adoc
@@ -108,7 +108,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (34 parameters):
+=== Query Parameters (33 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -147,7 +147,6 @@ with the following path and query parameters:
 | *messageRoutingMode* (producer) | Message Routing Mode to use. There are 3 enums and the value can be one of: SinglePartition, RoundRobinPartition, CustomPartition | RoundRobinPartition | MessageRoutingMode
 | *producerName* (producer) | Name of the producer. If unset, lets Pulsar select a unique identifier. |  | String
 | *sendTimeoutMs* (producer) | Send timeout in milliseconds | 30000 | int
-| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used | false | boolean
 |===
 // endpoint options: END
 
diff --git a/components/camel-pulsar/src/generated/java/org/apache/camel/component/pulsar/PulsarEndpointConfigurer.java b/components/camel-pulsar/src/generated/java/org/apache/camel/component/pulsar/PulsarEndpointConfigurer.java
index 67874e3..8855cbc 100644
--- a/components/camel-pulsar/src/generated/java/org/apache/camel/component/pulsar/PulsarEndpointConfigurer.java
+++ b/components/camel-pulsar/src/generated/java/org/apache/camel/component/pulsar/PulsarEndpointConfigurer.java
@@ -85,7 +85,6 @@ public class PulsarEndpointConfigurer extends PropertyConfigurerSupport implemen
         case "subscriptionTopicsMode": target.getPulsarConfiguration().setSubscriptionTopicsMode(property(camelContext, org.apache.pulsar.client.api.RegexSubscriptionMode.class, value)); return true;
         case "subscriptiontype":
         case "subscriptionType": target.getPulsarConfiguration().setSubscriptionType(property(camelContext, org.apache.camel.component.pulsar.utils.consumers.SubscriptionType.class, value)); return true;
-        case "synchronous": target.setSynchronous(property(camelContext, boolean.class, value)); return true;
         case "topicspattern":
         case "topicsPattern": target.getPulsarConfiguration().setTopicsPattern(property(camelContext, boolean.class, value)); return true;
         default: return false;
@@ -159,7 +158,6 @@ public class PulsarEndpointConfigurer extends PropertyConfigurerSupport implemen
         case "subscriptionTopicsMode": return org.apache.pulsar.client.api.RegexSubscriptionMode.class;
         case "subscriptiontype":
         case "subscriptionType": return org.apache.camel.component.pulsar.utils.consumers.SubscriptionType.class;
-        case "synchronous": return boolean.class;
         case "topicspattern":
         case "topicsPattern": return boolean.class;
         default: return null;
@@ -234,7 +232,6 @@ public class PulsarEndpointConfigurer extends PropertyConfigurerSupport implemen
         case "subscriptionTopicsMode": return target.getPulsarConfiguration().getSubscriptionTopicsMode();
         case "subscriptiontype":
         case "subscriptionType": return target.getPulsarConfiguration().getSubscriptionType();
-        case "synchronous": return target.isSynchronous();
         case "topicspattern":
         case "topicsPattern": return target.getPulsarConfiguration().isTopicsPattern();
         default: return null;
diff --git a/components/camel-pulsar/src/generated/java/org/apache/camel/component/pulsar/PulsarEndpointUriFactory.java b/components/camel-pulsar/src/generated/java/org/apache/camel/component/pulsar/PulsarEndpointUriFactory.java
index a71c126..611ad02 100644
--- a/components/camel-pulsar/src/generated/java/org/apache/camel/component/pulsar/PulsarEndpointUriFactory.java
+++ b/components/camel-pulsar/src/generated/java/org/apache/camel/component/pulsar/PulsarEndpointUriFactory.java
@@ -20,10 +20,9 @@ public class PulsarEndpointUriFactory extends org.apache.camel.support.component
     private static final Set<String> PROPERTY_NAMES;
     private static final Set<String> SECRET_PROPERTY_NAMES;
     static {
-        Set<String> props = new HashSet<>(38);
+        Set<String> props = new HashSet<>(37);
         props.add("initialSequenceId");
         props.add("maxRedeliverCount");
-        props.add("synchronous");
         props.add("messageRouter");
         props.add("batchingMaxMessages");
         props.add("compressionType");
diff --git a/components/camel-pulsar/src/generated/resources/org/apache/camel/component/pulsar/pulsar.json b/components/camel-pulsar/src/generated/resources/org/apache/camel/component/pulsar/pulsar.json
index 48d9691..ed1f7f6 100644
--- a/components/camel-pulsar/src/generated/resources/org/apache/camel/component/pulsar/pulsar.json
+++ b/components/camel-pulsar/src/generated/resources/org/apache/camel/component/pulsar/pulsar.json
@@ -96,7 +96,6 @@
     "messageRouter": { "kind": "parameter", "displayName": "Message Router", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.MessageRouter", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Custom Message Router to use" },
     "messageRoutingMode": { "kind": "parameter", "displayName": "Message Routing Mode", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.pulsar.client.api.MessageRoutingMode", "enum": [ "SinglePartition", "RoundRobinPartition", "CustomPartition" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "RoundRobinPartition", "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configuratio [...]
     "producerName": { "kind": "parameter", "displayName": "Producer Name", "group": "producer", "label": "producer", "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 producer. If unset, lets Pulsar select a unique identifier." },
-    "sendTimeoutMs": { "kind": "parameter", "displayName": "Send Timeout Ms", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 30000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Send timeout in milliseconds" },
-    "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Sets whether synchronous processing should be strictly used" }
+    "sendTimeoutMs": { "kind": "parameter", "displayName": "Send Timeout Ms", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 30000, "configurationClass": "org.apache.camel.component.pulsar.PulsarConfiguration", "configurationField": "pulsarConfiguration", "description": "Send timeout in milliseconds" }
   }
 }
diff --git a/components/camel-pulsar/src/main/docs/pulsar-component.adoc b/components/camel-pulsar/src/main/docs/pulsar-component.adoc
index 5f5e433..e956ee8 100644
--- a/components/camel-pulsar/src/main/docs/pulsar-component.adoc
+++ b/components/camel-pulsar/src/main/docs/pulsar-component.adoc
@@ -108,7 +108,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (34 parameters):
+=== Query Parameters (33 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -147,7 +147,6 @@ with the following path and query parameters:
 | *messageRoutingMode* (producer) | Message Routing Mode to use. There are 3 enums and the value can be one of: SinglePartition, RoundRobinPartition, CustomPartition | RoundRobinPartition | MessageRoutingMode
 | *producerName* (producer) | Name of the producer. If unset, lets Pulsar select a unique identifier. |  | String
 | *sendTimeoutMs* (producer) | Send timeout in milliseconds | 30000 | int
-| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used | false | boolean
 |===
 // endpoint options: END
 
diff --git a/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/PulsarEndpoint.java b/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/PulsarEndpoint.java
index 8af7183..d89088e 100644
--- a/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/PulsarEndpoint.java
+++ b/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/PulsarEndpoint.java
@@ -50,9 +50,6 @@ public class PulsarEndpoint extends DefaultEndpoint {
     @UriPath
     @Metadata(required = true)
     private String topic;
-    @UriParam(defaultValue = "false", label = "advanced",
-              description = "Sets whether synchronous processing should be strictly used")
-    private boolean synchronous;
 
     @UriParam
     private PulsarConfiguration pulsarConfiguration;
@@ -128,14 +125,6 @@ public class PulsarEndpoint extends DefaultEndpoint {
         this.topic = topic;
     }
 
-    public boolean isSynchronous() {
-        return synchronous;
-    }
-
-    public void setSynchronous(boolean synchronous) {
-        this.synchronous = synchronous;
-    }
-
     public PulsarConfiguration getPulsarConfiguration() {
         return pulsarConfiguration;
     }
diff --git a/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/PulsarMessageListener.java b/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/PulsarMessageListener.java
index f17b13d..0607bda 100644
--- a/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/PulsarMessageListener.java
+++ b/components/camel-pulsar/src/main/java/org/apache/camel/component/pulsar/PulsarMessageListener.java
@@ -49,22 +49,12 @@ public class PulsarMessageListener implements MessageListener<byte[]> {
                         endpoint.getComponent().getPulsarMessageReceiptFactory()
                                 .newInstance(exchange, message, consumer));
             }
-            if (endpoint.isSynchronous()) {
-                process(exchange, consumer, message);
-            } else {
-                processAsync(exchange, consumer, message);
-            }
+            processAsync(exchange, consumer, message);
         } catch (Exception exception) {
             handleProcessorException(exchange, exception);
         }
     }
 
-    private void process(final Exchange exchange, final Consumer<byte[]> consumer, final Message<byte[]> message)
-            throws Exception {
-        pulsarConsumer.getProcessor().process(exchange);
-        acknowledge(consumer, message);
-    }
-
     private void processAsync(final Exchange exchange, final Consumer<byte[]> consumer, final Message<byte[]> message) {
         pulsarConsumer.getAsyncProcessor().process(exchange, new AsyncCallback() {
             @Override
diff --git a/components/camel-pulsar/src/test/java/org/apache/camel/component/pulsar/PulsarConsumerInAsynchronousTest.java b/components/camel-pulsar/src/test/java/org/apache/camel/component/pulsar/PulsarConsumerInAsynchronousTest.java
index 649fd34..7eb5886 100644
--- a/components/camel-pulsar/src/test/java/org/apache/camel/component/pulsar/PulsarConsumerInAsynchronousTest.java
+++ b/components/camel-pulsar/src/test/java/org/apache/camel/component/pulsar/PulsarConsumerInAsynchronousTest.java
@@ -55,18 +55,16 @@ public class PulsarConsumerInAsynchronousTest extends PulsarTestSupport {
     private static final String PRODUCER = "camel-producer-1";
 
     @EndpointInject("pulsar:" + TOPIC_URI_SYNCHRONOUS_FALSE + "?numberOfConsumers=1&subscriptionType=Exclusive"
-                    + "&subscriptionName=camel-subscription&consumerQueueSize=1&consumerName=camel-consumer"
-                    + "&synchronous=false")
+                    + "&subscriptionName=camel-subscription&consumerQueueSize=1&consumerName=camel-consumer")
     private Endpoint synchronousFalse;
 
     @EndpointInject("pulsar:" + TOPIC_URI_SYNCHRONOUS_FALSE_THROWS_EXCEPTION + "?numberOfConsumers=1&subscriptionType=Exclusive"
-                    + "&subscriptionName=camel-subscription&consumerQueueSize=1&consumerName=camel-consumer"
-                    + "&synchronous=false")
+                    + "&subscriptionName=camel-subscription&consumerQueueSize=1&consumerName=camel-consumer")
     private Endpoint synchronousFalseThrowsException;
 
     @EndpointInject("pulsar:" + TOPIC_URI_SYNCHRONOUS_FALSE_MANUAL_ACK + "?numberOfConsumers=1&subscriptionType=Exclusive"
                     + "&subscriptionName=camel-subscription&consumerQueueSize=1&consumerName=camel-consumer"
-                    + "&synchronous=false" + "&allowManualAcknowledgement=true" + "&ackTimeoutMillis=1000")
+                    + "&allowManualAcknowledgement=true" + "&ackTimeoutMillis=1000")
     private Endpoint synchronousFalseManualAck;
 
     @EndpointInject("mock:result")
diff --git a/components/camel-pulsar/src/test/java/org/apache/camel/component/pulsar/PulsarConsumerInSynchronousTest.java b/components/camel-pulsar/src/test/java/org/apache/camel/component/pulsar/PulsarConsumerInSynchronousTest.java
deleted file mode 100644
index f5ecf68..0000000
--- a/components/camel-pulsar/src/test/java/org/apache/camel/component/pulsar/PulsarConsumerInSynchronousTest.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.pulsar;
-
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.camel.Endpoint;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.component.pulsar.utils.AutoConfiguration;
-import org.apache.camel.component.pulsar.utils.message.PulsarMessageHeaders;
-import org.apache.camel.spi.Registry;
-import org.apache.camel.support.SimpleRegistry;
-import org.apache.pulsar.client.api.Producer;
-import org.apache.pulsar.client.api.PulsarClient;
-import org.apache.pulsar.client.api.PulsarClientException;
-import org.apache.pulsar.client.api.Schema;
-import org.apache.pulsar.client.impl.ClientBuilderImpl;
-import org.junit.jupiter.api.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.apache.camel.test.junit5.TestSupport.body;
-
-public class PulsarConsumerInSynchronousTest extends PulsarTestSupport {
-
-    private static final Logger LOGGER = LoggerFactory.getLogger(PulsarConsumerInAsynchronousTest.class);
-
-    private static final String TOPIC_URI_SYNCHRONOUS_TRUE = "persistent://public/default/synchronousTrue";
-    private static final String TOPIC_URI_SYNCHRONOUS_DEFAULT = "persistent://public/default/synchronousDefault";
-
-    private static final String TOPIC_URI_SYNCHRONOUS_TRUE_THROWS_EXCEPTION
-            = "persistent://public/default/synchronousTrueThrowsException";
-
-    private static final String TOPIC_URI_SYNCHRONOUS_TRUE_MANUAL_ACK = "persistent://public/default/synchronousTrueManualAck";
-
-    private static final String PRODUCER = "camel-producer-1";
-
-    @EndpointInject("pulsar:" + TOPIC_URI_SYNCHRONOUS_TRUE + "?numberOfConsumers=1&subscriptionType=Exclusive"
-                    + "&subscriptionName=camel-subscription&consumerQueueSize=1&consumerName=camel-consumer"
-                    + "&synchronous=true")
-    private Endpoint synchronousTrue;
-
-    @EndpointInject("pulsar:" + TOPIC_URI_SYNCHRONOUS_DEFAULT + "?numberOfConsumers=1&subscriptionType=Exclusive"
-                    + "&subscriptionName=camel-subscription&consumerQueueSize=1&consumerName=camel-consumer")
-    private Endpoint synchronousDefault;
-
-    @EndpointInject("pulsar:" + TOPIC_URI_SYNCHRONOUS_TRUE_THROWS_EXCEPTION + "?numberOfConsumers=1&subscriptionType=Exclusive"
-                    + "&subscriptionName=camel-subscription&consumerQueueSize=1&consumerName=camel-consumer"
-                    + "&synchronous=true")
-    private Endpoint synchronousTrueThrowsException;
-
-    @EndpointInject("pulsar:" + TOPIC_URI_SYNCHRONOUS_TRUE_MANUAL_ACK + "?numberOfConsumers=1&subscriptionType=Exclusive"
-                    + "&subscriptionName=camel-subscription&consumerQueueSize=1&consumerName=camel-consumer"
-                    + "&synchronous=true" + "&allowManualAcknowledgement=true" + "&ackTimeoutMillis=1000")
-    private Endpoint synchronousTrueManualAck;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint to;
-
-    private CountDownLatch countDownLatch;
-
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-
-            Processor processor = new Processor() {
-                @Override
-                public void process(final Exchange exchange) throws InterruptedException {
-                    LOGGER.info("Processing message {}", exchange.getIn().getBody());
-                    countDownLatch.countDown();
-                    countDownLatch.await(20, TimeUnit.SECONDS);
-                }
-            };
-
-            Processor manualAckProcessor = new Processor() {
-                @Override
-                public void process(final Exchange exchange) throws PulsarClientException {
-                    LOGGER.info("Processing message {}", exchange.getIn().getBody());
-                    PulsarMessageReceipt receipt = (PulsarMessageReceipt) exchange.getIn().getHeader(
-                            PulsarMessageHeaders.MESSAGE_RECEIPT);
-                    receipt.acknowledge();
-                }
-            };
-
-            @Override
-            public void configure() {
-
-                from(synchronousTrue)
-                        .threads(2)
-                        .process(processor)
-                        .end()
-                        .to(to);
-
-                from(synchronousDefault)
-                        .threads(2)
-                        .process(processor)
-                        .end()
-                        .to(to);
-
-                from(synchronousTrueThrowsException)
-                        .threads(2)
-                        .throwException(new RuntimeException("Processor throws exception."))
-                        .end()
-                        .to(to);
-
-                from(synchronousTrueManualAck)
-                        .threads(2)
-                        .process(manualAckProcessor)
-                        .end()
-                        .to(to);
-            }
-        };
-    }
-
-    @Override
-    protected Registry createCamelRegistry() throws Exception {
-        SimpleRegistry registry = new SimpleRegistry();
-
-        registerPulsarBeans(registry);
-
-        return registry;
-    }
-
-    private void registerPulsarBeans(SimpleRegistry registry) throws PulsarClientException {
-        PulsarClient pulsarClient = givenPulsarClient();
-        AutoConfiguration autoConfiguration = new AutoConfiguration(null, null);
-
-        registry.bind("pulsarClient", pulsarClient);
-        PulsarComponent comp = new PulsarComponent(context);
-        comp.setAutoConfiguration(autoConfiguration);
-        comp.setPulsarClient(pulsarClient);
-        registry.bind("pulsar", comp);
-
-    }
-
-    private PulsarClient givenPulsarClient() throws PulsarClientException {
-        return new ClientBuilderImpl().serviceUrl(getPulsarBrokerUrl()).ioThreads(1).listenerThreads(1).build();
-    }
-
-    @Test
-    public void testMessagesProcessedSynchronously() throws Exception {
-        processSynchronously(TOPIC_URI_SYNCHRONOUS_TRUE);
-    }
-
-    @Test
-    public void testMessagesProcessedSynchronouslyByDefault() throws Exception {
-        processSynchronously(TOPIC_URI_SYNCHRONOUS_DEFAULT);
-    }
-
-    public void processSynchronously(String topic) throws Exception {
-
-        to.expectedMessageCount(2);
-
-        countDownLatch = new CountDownLatch(2);
-
-        Producer<String> producer = givenPulsarClient().newProducer(Schema.STRING).producerName(PRODUCER)
-                .topic(topic).create();
-
-        producer.send("One");
-        producer.send("Two");
-
-        to.assertIsNotSatisfied(2000L); // ms
-
-    }
-
-    @Test
-    public void testMessageProcessedSynchronouslyThrowsException() throws Exception {
-        throwsException(TOPIC_URI_SYNCHRONOUS_TRUE_THROWS_EXCEPTION);
-    }
-
-    public void throwsException(String topic) throws Exception {
-        to.expectedMessageCount(0);
-        Producer<String> producer = givenPulsarClient().newProducer(Schema.STRING).producerName(PRODUCER)
-                .topic(topic).create();
-
-        producer.send("One");
-
-        MockEndpoint.assertIsSatisfied(2, TimeUnit.SECONDS, to);
-    }
-
-    @Test
-    public void testMessagesProcessedSynchronouslyManualAcknowledge() throws Exception {
-        manualAcknowledgement(TOPIC_URI_SYNCHRONOUS_TRUE_MANUAL_ACK);
-    }
-
-    public void manualAcknowledgement(String topic) throws Exception {
-        to.expectsNoDuplicates(body());
-        to.expectedMessageCount(1);
-
-        Producer<String> producer = givenPulsarClient().newProducer(Schema.STRING).producerName(PRODUCER)
-                .topic(topic).create();
-
-        producer.send("Hello World!");
-
-        MockEndpoint.assertIsSatisfied(10, TimeUnit.SECONDS, to);
-    }
-
-}
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PulsarEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PulsarEndpointBuilderFactory.java
index 41ac7db..f072bfe 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PulsarEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PulsarEndpointBuilderFactory.java
@@ -650,39 +650,6 @@ public interface PulsarEndpointBuilderFactory {
             doSetProperty("exchangePattern", exchangePattern);
             return this;
         }
-        /**
-         * Sets whether synchronous processing should be strictly used.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: advanced
-         * 
-         * @param synchronous the value to set
-         * @return the dsl builder
-         */
-        default AdvancedPulsarEndpointConsumerBuilder synchronous(
-                boolean synchronous) {
-            doSetProperty("synchronous", synchronous);
-            return this;
-        }
-        /**
-         * Sets whether synchronous processing should be strictly used.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: advanced
-         * 
-         * @param synchronous the value to set
-         * @return the dsl builder
-         */
-        default AdvancedPulsarEndpointConsumerBuilder synchronous(
-                String synchronous) {
-            doSetProperty("synchronous", synchronous);
-            return this;
-        }
     }
 
     /**
@@ -1179,39 +1146,6 @@ public interface PulsarEndpointBuilderFactory {
         default PulsarEndpointProducerBuilder basic() {
             return (PulsarEndpointProducerBuilder) this;
         }
-        /**
-         * Sets whether synchronous processing should be strictly used.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: advanced
-         * 
-         * @param synchronous the value to set
-         * @return the dsl builder
-         */
-        default AdvancedPulsarEndpointProducerBuilder synchronous(
-                boolean synchronous) {
-            doSetProperty("synchronous", synchronous);
-            return this;
-        }
-        /**
-         * Sets whether synchronous processing should be strictly used.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: advanced
-         * 
-         * @param synchronous the value to set
-         * @return the dsl builder
-         */
-        default AdvancedPulsarEndpointProducerBuilder synchronous(
-                String synchronous) {
-            doSetProperty("synchronous", synchronous);
-            return this;
-        }
     }
 
     /**
@@ -1236,37 +1170,6 @@ public interface PulsarEndpointBuilderFactory {
         default PulsarEndpointBuilder basic() {
             return (PulsarEndpointBuilder) this;
         }
-        /**
-         * Sets whether synchronous processing should be strictly used.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: advanced
-         * 
-         * @param synchronous the value to set
-         * @return the dsl builder
-         */
-        default AdvancedPulsarEndpointBuilder synchronous(boolean synchronous) {
-            doSetProperty("synchronous", synchronous);
-            return this;
-        }
-        /**
-         * Sets whether synchronous processing should be strictly used.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: advanced
-         * 
-         * @param synchronous the value to set
-         * @return the dsl builder
-         */
-        default AdvancedPulsarEndpointBuilder synchronous(String synchronous) {
-            doSetProperty("synchronous", synchronous);
-            return this;
-        }
     }
 
     /**
diff --git a/docs/components/modules/ROOT/pages/pulsar-component.adoc b/docs/components/modules/ROOT/pages/pulsar-component.adoc
index 75506aa..aff7b33 100644
--- a/docs/components/modules/ROOT/pages/pulsar-component.adoc
+++ b/docs/components/modules/ROOT/pages/pulsar-component.adoc
@@ -110,7 +110,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (34 parameters):
+=== Query Parameters (33 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -149,7 +149,6 @@ with the following path and query parameters:
 | *messageRoutingMode* (producer) | Message Routing Mode to use. There are 3 enums and the value can be one of: SinglePartition, RoundRobinPartition, CustomPartition | RoundRobinPartition | MessageRoutingMode
 | *producerName* (producer) | Name of the producer. If unset, lets Pulsar select a unique identifier. |  | String
 | *sendTimeoutMs* (producer) | Send timeout in milliseconds | 30000 | int
-| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used | false | boolean
 |===
 // endpoint options: END