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


The following commit(s) were added to refs/heads/master by this push:
     new e4c4d0e  CAMEL-15792 + camel-couchbase polishing  (#4613)
e4c4d0e is described below

commit e4c4d0e101f9a6677c4999dcc9560f16d6b88f94
Author: Matej Melko <6814482+mme...@users.noreply.github.com>
AuthorDate: Mon Nov 16 22:24:56 2020 +0100

    CAMEL-15792 + camel-couchbase polishing  (#4613)
    
    * CAMEL-15792: Migrate camel-couchbase integration tests to use 
testcontainers
    
    * camel-couchbase: Add switch to consumer to return either full document or 
view result
    add connectTimeout
---
 .../apache/camel/catalog/components/couchbase.json |   2 +
 .../camel/catalog/docs/couchbase-component.adoc    |   4 +-
 components/camel-couchbase/pom.xml                 |  64 +++++++++++++
 .../couchbase/CouchbaseEndpointConfigurer.java     |  12 +++
 .../couchbase/CouchbaseEndpointUriFactory.java     |  38 ++++----
 .../camel/component/couchbase/couchbase.json       |   2 +
 .../src/main/docs/couchbase-component.adoc         |   4 +-
 .../component/couchbase/CouchbaseConstants.java    |   3 +-
 .../component/couchbase/CouchbaseConsumer.java     |  13 ++-
 .../component/couchbase/CouchbaseEndpoint.java     |  38 +++++++-
 ...Test.java => ConsumeMessagesWithLimitTest.java} |  21 ++--
 .../component/couchbase/CouchbaseEndpointTest.java |  21 +++-
 .../couchbase/CouchbaseIntegrationTestBase.java    |  72 ++++++++++++++
 .../couchbase/ProduceMessagesSimpleTest.java       |  13 ++-
 ...est.java => ProduceMessagesWithAutoIDTest.java} |   8 +-
 ...ntegrationTest.java => RemoveMessagesTest.java} |  23 +++--
 .../dsl/CouchbaseEndpointBuilderFactory.java       | 106 +++++++++++++++++++++
 .../modules/ROOT/pages/couchbase-component.adoc    |   4 +-
 18 files changed, 386 insertions(+), 62 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/couchbase.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/couchbase.json
index 39b3e9d..c655efe 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/couchbase.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/couchbase.json
@@ -38,6 +38,7 @@
     "consumerProcessedStrategy": { "kind": "parameter", "displayName": 
"Consumer Processed Strategy", "group": "consumer", "label": "consumer", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"none", "description": "Define the consumer Processed strategy to use" },
     "descending": { "kind": "parameter", "displayName": "Descending", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Define if this operation is 
descending or not" },
     "designDocumentName": { "kind": "parameter", "displayName": "Design 
Document Name", "group": "consumer", "label": "consumer", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "beer", "description": 
"The design document name to use" },
+    "fullDocument": { "kind": "parameter", "displayName": "Full Document", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true consumer will return 
complete document instead data defined in view" },
     "limit": { "kind": "parameter", "displayName": "Limit", "group": 
"consumer", "label": "consumer", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": -1, "description": "The output limit to use" },
     "rangeEndKey": { "kind": "parameter", "displayName": "Range End Key", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Define a range for the end key" },
     "rangeStartKey": { "kind": "parameter", "displayName": "Range Start Key", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Define a range for the start key" },
@@ -56,6 +57,7 @@
     "replicateTo": { "kind": "parameter", "displayName": "Replicate To", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 0, "description": "Where to replicate the data" },
     "startingIdForInsertsFrom": { "kind": "parameter", "displayName": 
"Starting Id For Inserts From", "group": "producer", "label": "producer", 
"required": false, "type": "integer", "javaType": "long", "deprecated": false, 
"autowired": false, "secret": false, "description": "Define the starting Id 
where we are doing an insert operation" },
     "additionalHosts": { "kind": "parameter", "displayName": "Additional 
Hosts", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "The additional hosts" },
+    "connectTimeout": { "kind": "parameter", "displayName": "Connect Timeout", 
"group": "advanced", "label": "advanced", "required": false, "type": 
"duration", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "2500", "description": "Define the 
timeoutconnect in milliseconds" },
     "queryTimeout": { "kind": "parameter", "displayName": "Query Timeout", 
"group": "advanced", "label": "advanced", "required": false, "type": 
"duration", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "2500", "description": "Define the operation 
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, or Camel is allowed to use asynchronous 
processing (if supported)." },
     "backoffErrorThreshold": { "kind": "parameter", "displayName": "Backoff 
Error Threshold", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "The number of subsequent 
error polls (failed due some error) that should happen before the 
backoffMultipler should kick-in." },
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/couchbase-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/couchbase-component.adoc
index fb752bf..d4b2054 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/couchbase-component.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/couchbase-component.adoc
@@ -73,7 +73,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (44 parameters):
+=== Query Parameters (46 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -87,6 +87,7 @@ with the following path and query parameters:
 | *consumerProcessedStrategy* (consumer) | Define the consumer Processed 
strategy to use | none | String
 | *descending* (consumer) | Define if this operation is descending or not | 
false | boolean
 | *designDocumentName* (consumer) | The design document name to use | beer | 
String
+| *fullDocument* (consumer) | If true consumer will return complete document 
instead data defined in view | false | boolean
 | *limit* (consumer) | The output limit to use | -1 | int
 | *rangeEndKey* (consumer) | Define a range for the end key |  | String
 | *rangeStartKey* (consumer) | Define a range for the start key |  | String
@@ -105,6 +106,7 @@ with the following path and query parameters:
 | *replicateTo* (producer) | Where to replicate the data | 0 | int
 | *startingIdForInsertsFrom* (producer) | Define the starting Id where we are 
doing an insert operation |  | long
 | *additionalHosts* (advanced) | The additional hosts |  | String
+| *connectTimeout* (advanced) | Define the timeoutconnect in milliseconds | 
2500 | long
 | *queryTimeout* (advanced) | Define the operation timeout in milliseconds | 
2500 | long
 | *synchronous* (advanced) | Sets whether synchronous processing should be 
strictly used, or Camel is allowed to use asynchronous processing (if 
supported). | false | boolean
 | *backoffErrorThreshold* (scheduler) | The number of subsequent error polls 
(failed due some error) that should happen before the backoffMultipler should 
kick-in. |  | int
diff --git a/components/camel-couchbase/pom.xml 
b/components/camel-couchbase/pom.xml
index 109800f..eb228d2 100644
--- a/components/camel-couchbase/pom.xml
+++ b/components/camel-couchbase/pom.xml
@@ -70,6 +70,70 @@
             <scope>test</scope>
         </dependency>
 
+        <!-- test infra -->
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-test-infra-common</artifactId>
+            <version>${project.version}</version>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-test-infra-couchbase</artifactId>
+            <version>${project.version}</version>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+
     </dependencies>
+    <profiles>
+    <!-- activate test if the docker socket file is accessible -->
+    <profile>
+        <id>couchbase-tests-docker-file</id>
+        <activation>
+            <file>
+                <exists>/var/run/docker.sock</exists>
+            </file>
+        </activation>
+        <build>
+            <plugins>
+                <plugin>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <configuration>
+                        <skipTests>${skipTests}</skipTests>
+                        <forkCount>1</forkCount>
+                        <systemPropertyVariables>
+                            
<visibleassertions.silence>true</visibleassertions.silence>
+                        </systemPropertyVariables>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </build>
+    </profile>
 
+    <!-- activate test if the DOCKER_HOST env var is set -->
+    <profile>
+        <id>couchbase-tests-docker-env</id>
+        <activation>
+            <property>
+                <name>env.DOCKER_HOST</name>
+            </property>
+        </activation>
+        <build>
+            <plugins>
+                <plugin>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <configuration>
+                        <skipTests>${skipTests}</skipTests>
+                        <forkCount>1</forkCount>
+                        <systemPropertyVariables>
+                            
<visibleassertions.silence>true</visibleassertions.silence>
+                        </systemPropertyVariables>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </build>
+    </profile>
+    </profiles>
 </project>
diff --git 
a/components/camel-couchbase/src/generated/java/org/apache/camel/component/couchbase/CouchbaseEndpointConfigurer.java
 
b/components/camel-couchbase/src/generated/java/org/apache/camel/component/couchbase/CouchbaseEndpointConfigurer.java
index d3aa0ea..05114fe 100644
--- 
a/components/camel-couchbase/src/generated/java/org/apache/camel/component/couchbase/CouchbaseEndpointConfigurer.java
+++ 
b/components/camel-couchbase/src/generated/java/org/apache/camel/component/couchbase/CouchbaseEndpointConfigurer.java
@@ -35,6 +35,8 @@ public class CouchbaseEndpointConfigurer extends 
PropertyConfigurerSupport imple
         case "bridgeErrorHandler": 
target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); 
return true;
         case "bucket": target.setBucket(property(camelContext, 
java.lang.String.class, value)); return true;
         case "collection": target.setCollection(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "connecttimeout":
+        case "connectTimeout": target.setConnectTimeout(property(camelContext, 
java.time.Duration.class, value).toMillis()); return true;
         case "consumerprocessedstrategy":
         case "consumerProcessedStrategy": 
target.setConsumerProcessedStrategy(property(camelContext, 
java.lang.String.class, value)); return true;
         case "delay": target.setDelay(property(camelContext, long.class, 
value)); return true;
@@ -45,6 +47,8 @@ public class CouchbaseEndpointConfigurer extends 
PropertyConfigurerSupport imple
         case "exceptionHandler": 
target.setExceptionHandler(property(camelContext, 
org.apache.camel.spi.ExceptionHandler.class, value)); return true;
         case "exchangepattern":
         case "exchangePattern": 
target.setExchangePattern(property(camelContext, 
org.apache.camel.ExchangePattern.class, value)); return true;
+        case "fulldocument":
+        case "fullDocument": target.setFullDocument(property(camelContext, 
boolean.class, value)); return true;
         case "greedy": target.setGreedy(property(camelContext, boolean.class, 
value)); return true;
         case "initialdelay":
         case "initialDelay": target.setInitialDelay(property(camelContext, 
long.class, value)); return true;
@@ -116,6 +120,8 @@ public class CouchbaseEndpointConfigurer extends 
PropertyConfigurerSupport imple
         case "bridgeErrorHandler": return boolean.class;
         case "bucket": return java.lang.String.class;
         case "collection": return java.lang.String.class;
+        case "connecttimeout":
+        case "connectTimeout": return long.class;
         case "consumerprocessedstrategy":
         case "consumerProcessedStrategy": return java.lang.String.class;
         case "delay": return long.class;
@@ -126,6 +132,8 @@ public class CouchbaseEndpointConfigurer extends 
PropertyConfigurerSupport imple
         case "exceptionHandler": return 
org.apache.camel.spi.ExceptionHandler.class;
         case "exchangepattern":
         case "exchangePattern": return org.apache.camel.ExchangePattern.class;
+        case "fulldocument":
+        case "fullDocument": return boolean.class;
         case "greedy": return boolean.class;
         case "initialdelay":
         case "initialDelay": return long.class;
@@ -198,6 +206,8 @@ public class CouchbaseEndpointConfigurer extends 
PropertyConfigurerSupport imple
         case "bridgeErrorHandler": return target.isBridgeErrorHandler();
         case "bucket": return target.getBucket();
         case "collection": return target.getCollection();
+        case "connecttimeout":
+        case "connectTimeout": return target.getConnectTimeout();
         case "consumerprocessedstrategy":
         case "consumerProcessedStrategy": return 
target.getConsumerProcessedStrategy();
         case "delay": return target.getDelay();
@@ -208,6 +218,8 @@ public class CouchbaseEndpointConfigurer extends 
PropertyConfigurerSupport imple
         case "exceptionHandler": return target.getExceptionHandler();
         case "exchangepattern":
         case "exchangePattern": return target.getExchangePattern();
+        case "fulldocument":
+        case "fullDocument": return target.isFullDocument();
         case "greedy": return target.isGreedy();
         case "initialdelay":
         case "initialDelay": return target.getInitialDelay();
diff --git 
a/components/camel-couchbase/src/generated/java/org/apache/camel/component/couchbase/CouchbaseEndpointUriFactory.java
 
b/components/camel-couchbase/src/generated/java/org/apache/camel/component/couchbase/CouchbaseEndpointUriFactory.java
index 7188a04..5ef1684 100644
--- 
a/components/camel-couchbase/src/generated/java/org/apache/camel/component/couchbase/CouchbaseEndpointUriFactory.java
+++ 
b/components/camel-couchbase/src/generated/java/org/apache/camel/component/couchbase/CouchbaseEndpointUriFactory.java
@@ -20,38 +20,24 @@ public class CouchbaseEndpointUriFactory extends 
org.apache.camel.support.compon
     private static final Set<String> PROPERTY_NAMES;
     private static final Set<String> SECRET_PROPERTY_NAMES;
     static {
-        Set<String> props = new HashSet<>(47);
-        props.add("backoffMultiplier");
-        props.add("queryTimeout");
+        Set<String> props = new HashSet<>(49);
         props.add("consumerProcessedStrategy");
         props.add("synchronous");
-        props.add("skip");
         props.add("initialDelay");
         props.add("descending");
-        props.add("scheduler");
         props.add("protocol");
         props.add("hostname");
         props.add("password");
         props.add("bridgeErrorHandler");
-        props.add("useFixedDelay");
         props.add("viewName");
-        props.add("additionalHosts");
-        props.add("runLoggingLevel");
-        props.add("backoffErrorThreshold");
-        props.add("scope");
+        props.add("fullDocument");
         props.add("limit");
+        props.add("connectTimeout");
         props.add("greedy");
         props.add("scheduledExecutorService");
-        props.add("rangeEndKey");
-        props.add("key");
         props.add("repeatCount");
-        props.add("timeUnit");
         props.add("sendEmptyMessageWhenIdle");
-        props.add("autoStartIdForInserts");
-        props.add("persistTo");
-        props.add("producerRetryPause");
         props.add("schedulerProperties");
-        props.add("exchangePattern");
         props.add("rangeStartKey");
         props.add("collection");
         props.add("designDocumentName");
@@ -61,11 +47,27 @@ public class CouchbaseEndpointUriFactory extends 
org.apache.camel.support.compon
         props.add("bucket");
         props.add("lazyStartProducer");
         props.add("delay");
-        props.add("pollStrategy");
         props.add("port");
         props.add("producerRetryAttempts");
         props.add("startScheduler");
         props.add("exceptionHandler");
+        props.add("backoffMultiplier");
+        props.add("queryTimeout");
+        props.add("skip");
+        props.add("scheduler");
+        props.add("useFixedDelay");
+        props.add("additionalHosts");
+        props.add("runLoggingLevel");
+        props.add("backoffErrorThreshold");
+        props.add("scope");
+        props.add("rangeEndKey");
+        props.add("key");
+        props.add("timeUnit");
+        props.add("autoStartIdForInserts");
+        props.add("persistTo");
+        props.add("producerRetryPause");
+        props.add("exchangePattern");
+        props.add("pollStrategy");
         props.add("operation");
         props.add("username");
         PROPERTY_NAMES = Collections.unmodifiableSet(props);
diff --git 
a/components/camel-couchbase/src/generated/resources/org/apache/camel/component/couchbase/couchbase.json
 
b/components/camel-couchbase/src/generated/resources/org/apache/camel/component/couchbase/couchbase.json
index 39b3e9d..c655efe 100644
--- 
a/components/camel-couchbase/src/generated/resources/org/apache/camel/component/couchbase/couchbase.json
+++ 
b/components/camel-couchbase/src/generated/resources/org/apache/camel/component/couchbase/couchbase.json
@@ -38,6 +38,7 @@
     "consumerProcessedStrategy": { "kind": "parameter", "displayName": 
"Consumer Processed Strategy", "group": "consumer", "label": "consumer", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"none", "description": "Define the consumer Processed strategy to use" },
     "descending": { "kind": "parameter", "displayName": "Descending", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Define if this operation is 
descending or not" },
     "designDocumentName": { "kind": "parameter", "displayName": "Design 
Document Name", "group": "consumer", "label": "consumer", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "beer", "description": 
"The design document name to use" },
+    "fullDocument": { "kind": "parameter", "displayName": "Full Document", 
"group": "consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true consumer will return 
complete document instead data defined in view" },
     "limit": { "kind": "parameter", "displayName": "Limit", "group": 
"consumer", "label": "consumer", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": -1, "description": "The output limit to use" },
     "rangeEndKey": { "kind": "parameter", "displayName": "Range End Key", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Define a range for the end key" },
     "rangeStartKey": { "kind": "parameter", "displayName": "Range Start Key", 
"group": "consumer", "label": "consumer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Define a range for the start key" },
@@ -56,6 +57,7 @@
     "replicateTo": { "kind": "parameter", "displayName": "Replicate To", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 0, "description": "Where to replicate the data" },
     "startingIdForInsertsFrom": { "kind": "parameter", "displayName": 
"Starting Id For Inserts From", "group": "producer", "label": "producer", 
"required": false, "type": "integer", "javaType": "long", "deprecated": false, 
"autowired": false, "secret": false, "description": "Define the starting Id 
where we are doing an insert operation" },
     "additionalHosts": { "kind": "parameter", "displayName": "Additional 
Hosts", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "The additional hosts" },
+    "connectTimeout": { "kind": "parameter", "displayName": "Connect Timeout", 
"group": "advanced", "label": "advanced", "required": false, "type": 
"duration", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "2500", "description": "Define the 
timeoutconnect in milliseconds" },
     "queryTimeout": { "kind": "parameter", "displayName": "Query Timeout", 
"group": "advanced", "label": "advanced", "required": false, "type": 
"duration", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "2500", "description": "Define the operation 
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, or Camel is allowed to use asynchronous 
processing (if supported)." },
     "backoffErrorThreshold": { "kind": "parameter", "displayName": "Backoff 
Error Threshold", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "integer", "javaType": "int", "deprecated": false, 
"autowired": false, "secret": false, "description": "The number of subsequent 
error polls (failed due some error) that should happen before the 
backoffMultipler should kick-in." },
diff --git a/components/camel-couchbase/src/main/docs/couchbase-component.adoc 
b/components/camel-couchbase/src/main/docs/couchbase-component.adoc
index fb752bf..d4b2054 100644
--- a/components/camel-couchbase/src/main/docs/couchbase-component.adoc
+++ b/components/camel-couchbase/src/main/docs/couchbase-component.adoc
@@ -73,7 +73,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (44 parameters):
+=== Query Parameters (46 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -87,6 +87,7 @@ with the following path and query parameters:
 | *consumerProcessedStrategy* (consumer) | Define the consumer Processed 
strategy to use | none | String
 | *descending* (consumer) | Define if this operation is descending or not | 
false | boolean
 | *designDocumentName* (consumer) | The design document name to use | beer | 
String
+| *fullDocument* (consumer) | If true consumer will return complete document 
instead data defined in view | false | boolean
 | *limit* (consumer) | The output limit to use | -1 | int
 | *rangeEndKey* (consumer) | Define a range for the end key |  | String
 | *rangeStartKey* (consumer) | Define a range for the start key |  | String
@@ -105,6 +106,7 @@ with the following path and query parameters:
 | *replicateTo* (producer) | Where to replicate the data | 0 | int
 | *startingIdForInsertsFrom* (producer) | Define the starting Id where we are 
doing an insert operation |  | long
 | *additionalHosts* (advanced) | The additional hosts |  | String
+| *connectTimeout* (advanced) | Define the timeoutconnect in milliseconds | 
2500 | long
 | *queryTimeout* (advanced) | Define the operation timeout in milliseconds | 
2500 | long
 | *synchronous* (advanced) | Sets whether synchronous processing should be 
strictly used, or Camel is allowed to use asynchronous processing (if 
supported). | false | boolean
 | *backoffErrorThreshold* (scheduler) | The number of subsequent error polls 
(failed due some error) that should happen before the backoffMultipler should 
kick-in. |  | int
diff --git 
a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConstants.java
 
b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConstants.java
index 2bb0831..ce934e0 100644
--- 
a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConstants.java
+++ 
b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConstants.java
@@ -23,7 +23,7 @@ package org.apache.camel.component.couchbase;
 public interface CouchbaseConstants {
 
     String COUCHBASE_URI_ERROR
-            = "Invalid URI. Format must be of the form 
couchbase:http[s]://hostname[:port]?[options...]";
+            = "Invalid URI. Format must be of the form 
couchbase:http[s]://hostname[:port]?bucket=[bucket][&options...]";
     String COUCHBASE_PUT = "CCB_PUT";
     String COUCHBASE_GET = "CCB_GET";
     String COUCHBASE_DELETE = "CCB_DEL";
@@ -40,6 +40,7 @@ public interface CouchbaseConstants {
     int DEFAULT_COUCHBASE_PORT = 8091;
     int DEFAULT_TTL = 0;
     long DEFAULT_QUERY_TIMEOUT = 2500;
+    long DEFAULT_CONNECT_TIMEOUT = 30000;
 
     String DEFAULT_CONSUME_PROCESSED_STRATEGY = "none";
 
diff --git 
a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConsumer.java
 
b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConsumer.java
index 2f0481f..ab6d5fc 100644
--- 
a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConsumer.java
+++ 
b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseConsumer.java
@@ -16,8 +16,7 @@
  */
 package org.apache.camel.component.couchbase;
 
-import java.util.List;
-
+import com.couchbase.client.core.deps.com.fasterxml.jackson.databind.JsonNode;
 import com.couchbase.client.java.Bucket;
 import com.couchbase.client.java.Collection;
 import com.couchbase.client.java.Scope;
@@ -119,11 +118,15 @@ public class CouchbaseConsumer extends 
DefaultScheduledPollConsumer {
 
         String consumerProcessedStrategy = 
endpoint.getConsumerProcessedStrategy();
         for (ViewRow row : result.rows()) {
-
+            Object doc;
             String id = row.id().get();
-            Object doc = collection.get(id);
+            if (endpoint.isFullDocument()) {
+                doc = collection.get(id);
+            } else {
+                doc = row.valueAs(Object.class);
+            }
 
-            String key = (String) row.keyAs(List.class).get().get(0);
+            String key = row.keyAs(JsonNode.class).get().asText();
             String designDocumentName = endpoint.getDesignDocumentName();
             String viewName = endpoint.getViewName();
 
diff --git 
a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
 
b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
index 4477784..893cfd0 100644
--- 
a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
+++ 
b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
@@ -30,6 +30,7 @@ import com.couchbase.client.java.Bucket;
 import com.couchbase.client.java.Cluster;
 import com.couchbase.client.java.ClusterOptions;
 import com.couchbase.client.java.env.ClusterEnvironment;
+import org.apache.camel.CamelException;
 import org.apache.camel.Category;
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
@@ -42,6 +43,7 @@ import org.apache.camel.support.ScheduledPollEndpoint;
 
 import static 
org.apache.camel.component.couchbase.CouchbaseConstants.COUCHBASE_PUT;
 import static 
org.apache.camel.component.couchbase.CouchbaseConstants.COUCHBASE_URI_ERROR;
+import static 
org.apache.camel.component.couchbase.CouchbaseConstants.DEFAULT_CONNECT_TIMEOUT;
 import static 
org.apache.camel.component.couchbase.CouchbaseConstants.DEFAULT_CONSUME_PROCESSED_STRATEGY;
 import static 
org.apache.camel.component.couchbase.CouchbaseConstants.DEFAULT_COUCHBASE_PORT;
 import static 
org.apache.camel.component.couchbase.CouchbaseConstants.DEFAULT_DESIGN_DOCUMENT_NAME;
@@ -124,6 +126,8 @@ public class CouchbaseEndpoint extends 
ScheduledPollEndpoint {
     private String rangeStartKey;
     @UriParam(label = "consumer")
     private String rangeEndKey = "";
+    @UriParam(label = "consumer", defaultValue = "false")
+    private boolean fullDocument = true;
 
     // Consumer strategy
     @UriParam(label = "consumer", defaultValue = 
DEFAULT_CONSUME_PROCESSED_STRATEGY)
@@ -133,6 +137,10 @@ public class CouchbaseEndpoint extends 
ScheduledPollEndpoint {
     @UriParam(label = "advanced", defaultValue = "2500", javaType = 
"java.time.Duration")
     private long queryTimeout = DEFAULT_QUERY_TIMEOUT;
 
+    // Connection fine tuning parameters
+    @UriParam(label = "advanced", defaultValue = "2500", javaType = 
"java.time.Duration")
+    private long connectTimeout = DEFAULT_CONNECT_TIMEOUT;
+
     public CouchbaseEndpoint() {
     }
 
@@ -433,6 +441,17 @@ public class CouchbaseEndpoint extends 
ScheduledPollEndpoint {
         this.rangeEndKey = rangeEndKey;
     }
 
+    public boolean isFullDocument() {
+        return fullDocument;
+    }
+
+    /**
+     * If true consumer will return complete document instead data defined in 
view
+     */
+    public void setFullDocument(boolean fullDocument) {
+        this.fullDocument = fullDocument;
+    }
+
     public String getConsumerProcessedStrategy() {
         return consumerProcessedStrategy;
     }
@@ -455,6 +474,17 @@ public class CouchbaseEndpoint extends 
ScheduledPollEndpoint {
         this.queryTimeout = queryTimeout;
     }
 
+    public long getConnectTimeout() {
+        return connectTimeout;
+    }
+
+    /**
+     * Define the timeoutconnect in milliseconds
+     */
+    public void setConnectTimeout(long connectTimeout) {
+        this.connectTimeout = connectTimeout;
+    }
+
     public URI[] makeBootstrapURI() throws URISyntaxException {
 
         if (additionalHosts == null || "".equals(additionalHosts)) {
@@ -492,9 +522,15 @@ public class CouchbaseEndpoint extends 
ScheduledPollEndpoint {
         List<URI> hosts = Arrays.asList(makeBootstrapURI());
         String connectionString;
 
+        if (bucket == null || bucket.isEmpty()) {
+            throw new CamelException(COUCHBASE_URI_ERROR);
+        }
+
         ClusterEnvironment.Builder cfb = ClusterEnvironment.builder();
         if (queryTimeout != DEFAULT_QUERY_TIMEOUT) {
-            cfb.timeoutConfig().queryTimeout(Duration.ofMillis(queryTimeout));
+            cfb.timeoutConfig()
+                    .connectTimeout(Duration.ofMillis(connectTimeout))
+                    .queryTimeout(Duration.ofMillis(queryTimeout));
         }
 
         ClusterEnvironment env = cfb.build();
diff --git 
a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ConsumeBeerMessagesWithLimitIntegrationTest.java
 
b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ConsumeMessagesWithLimitTest.java
similarity index 69%
rename from 
components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ConsumeBeerMessagesWithLimitIntegrationTest.java
rename to 
components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ConsumeMessagesWithLimitTest.java
index 99a5c44..5b5b1bc 100644
--- 
a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ConsumeBeerMessagesWithLimitIntegrationTest.java
+++ 
b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ConsumeMessagesWithLimitTest.java
@@ -16,20 +16,30 @@
  */
 package org.apache.camel.component.couchbase;
 
+import java.util.concurrent.TimeUnit;
+
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.After;
 import org.junit.jupiter.api.Test;
 
-public class ConsumeBeerMessagesWithLimitIntegrationTest extends 
CamelTestSupport {
+public class ConsumeMessagesWithLimitTest extends CouchbaseIntegrationTestBase 
{
 
     @Test
     public void testQueryForBeers() throws Exception {
+        for (int i = 0; i < 15; i++) {
+            
cluster.bucket(bucketName).defaultCollection().upsert("DocumentID_" + i, 
"message" + i);
+        }
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(10);
 
-        assertMockEndpointsSatisfied();
+        assertMockEndpointsSatisfied(30, TimeUnit.SECONDS);
+
+    }
 
+    @After
+    public void cleanBucket() {
+        cluster.buckets().flushBucket(bucketName);
     }
 
     @Override
@@ -37,9 +47,8 @@ public class ConsumeBeerMessagesWithLimitIntegrationTest 
extends CamelTestSuppor
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-
-                // need couchbase installed on localhost with beer-sample data
-                
from("couchbase:http://localhost/beer-sample?username=root&password=123456&designDocumentName=beer&viewName=brewery_beers&limit=10";)
+                
from(String.format("%s&designDocumentName=%s&viewName=%s&limit=10", 
getConnectionUri(), bucketName, bucketName))
+                        .log("message received")
                         .to("mock:result");
             }
         };
diff --git 
a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/CouchbaseEndpointTest.java
 
b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/CouchbaseEndpointTest.java
index 2d68579..cf2468b 100644
--- 
a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/CouchbaseEndpointTest.java
+++ 
b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/CouchbaseEndpointTest.java
@@ -16,7 +16,9 @@
  */
 package org.apache.camel.component.couchbase;
 
-import com.couchbase.client.core.error.InvalidArgumentException;
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.camel.Processor;
 import org.junit.jupiter.api.Test;
 
@@ -71,8 +73,12 @@ public class CouchbaseEndpointTest {
 
     @Test
     public void testCouchbaseEndpointCreateProducer() throws Exception {
-        assertThrows(InvalidArgumentException.class,
-                () -> new CouchbaseEndpoint("couchbase:localhost:80/bucket", 
new CouchbaseComponent()).createProducer());
+        Map<String, Object> params = new HashMap<>();
+        params.put("bucket", "bucket");
+        assertThrows(IllegalArgumentException.class,
+                () -> new CouchbaseComponent()
+                        .createEndpoint("couchbase:localhost:80/bucket", 
"couchbase:localhost:80/bucket", params)
+                        .createProducer());
     }
 
     @Test
@@ -80,8 +86,13 @@ public class CouchbaseEndpointTest {
         Processor p = exchange -> {
             // Nothing to do
         };
-        assertThrows(InvalidArgumentException.class,
-                () -> new CouchbaseEndpoint("couchbase:localhost:80/bucket", 
new CouchbaseComponent()).createConsumer(p));
+        Map<String, Object> params = new HashMap<>();
+        params.put("bucket", "bucket");
+
+        assertThrows(IllegalArgumentException.class,
+                () -> new CouchbaseComponent()
+                        .createEndpoint("couchbase:localhost:80/bucket", 
"couchbase:localhost:80/bucket", params)
+                        .createConsumer(p));
     }
 
     @Test
diff --git 
a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/CouchbaseIntegrationTestBase.java
 
b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/CouchbaseIntegrationTestBase.java
new file mode 100644
index 0000000..c0ecf38
--- /dev/null
+++ 
b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/CouchbaseIntegrationTestBase.java
@@ -0,0 +1,72 @@
+/*
+ * 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.couchbase;
+
+import java.util.Collections;
+
+import com.couchbase.client.java.Bucket;
+import com.couchbase.client.java.Cluster;
+import com.couchbase.client.java.manager.bucket.BucketSettings;
+import com.couchbase.client.java.manager.bucket.BucketType;
+import com.couchbase.client.java.manager.view.DesignDocument;
+import com.couchbase.client.java.manager.view.View;
+import com.couchbase.client.java.view.DesignDocumentNamespace;
+import org.apache.camel.test.infra.common.TestUtils;
+import org.apache.camel.test.infra.couchbase.services.CouchbaseService;
+import org.apache.camel.test.infra.couchbase.services.CouchbaseServiceFactory;
+import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.extension.RegisterExtension;
+
+public class CouchbaseIntegrationTestBase extends CamelTestSupport {
+    @RegisterExtension
+    public static CouchbaseService service = 
CouchbaseServiceFactory.getService();
+
+    protected static String bucketName;
+    protected static Cluster cluster;
+
+    @BeforeAll
+    static void setUpCouchbase() {
+        bucketName = "testBucket" + TestUtils.randomWithRange(0, 100);
+        cluster = Cluster.connect(service.getConnectionString(), 
service.getUsername(), service.getPassword());
+
+        cluster.buckets().createBucket(
+                
BucketSettings.create(bucketName).bucketType(BucketType.COUCHBASE).flushEnabled(true));
+
+        Bucket bucket = cluster.bucket(bucketName);
+        DesignDocument designDoc = new DesignDocument(
+                bucketName,
+                Collections.singletonMap(bucketName, new View("function (doc, 
meta) {  emit(meta.id, doc);}")));
+        
cluster.bucket(bucketName).viewIndexes().upsertDesignDocument(designDoc, 
DesignDocumentNamespace.PRODUCTION);
+
+    }
+
+    @AfterAll
+    public static void tearDownCouchbase() {
+        cluster.buckets().dropBucket(bucketName);
+        cluster.disconnect();
+        service.shutdown();
+    }
+
+    public String getConnectionUri() {
+        return 
String.format("couchbase:http://%s:%d?bucket=%s&username=%s&password=%s";, 
service.getHostname(),
+                service.getPort(), bucketName, service.getUsername(), 
service.getPassword());
+    }
+
+}
diff --git 
a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ProduceMessagesSimpleTest.java
 
b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ProduceMessagesSimpleTest.java
index e1424a3..03137e0 100644
--- 
a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ProduceMessagesSimpleTest.java
+++ 
b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ProduceMessagesSimpleTest.java
@@ -16,18 +16,17 @@
  */
 package org.apache.camel.component.couchbase;
 
+import java.time.Duration;
+
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
-public class ProduceMessagesSimpleTest extends CamelTestSupport {
+public class ProduceMessagesSimpleTest extends CouchbaseIntegrationTestBase {
 
-    // Ignore test since build environment does not have any couchbase instance
-    @Disabled
     @Test
     public void testInsert() throws Exception {
+        cluster.bucket(bucketName).waitUntilReady(Duration.ofSeconds(30));
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
 
@@ -44,8 +43,8 @@ public class ProduceMessagesSimpleTest extends 
CamelTestSupport {
             public void configure() throws Exception {
 
                 // need couchbase installed on localhost
-                from("direct:start").setHeader(CouchbaseConstants.HEADER_ID, 
constant("blabla:120771"))
-                        
.to("couchbase:http://192.168.1.102/test?additionalHosts=localhost&username=root&password=123456";)
+                from("direct:start").setHeader(CouchbaseConstants.HEADER_ID, 
constant("SimpleDocument_1"))
+                        .to(getConnectionUri())
                         .to("mock:result");
 
             }
diff --git 
a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ProduceMessagesWithAutoIDIntegrationTest.java
 
b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ProduceMessagesWithAutoIDTest.java
similarity index 82%
rename from 
components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ProduceMessagesWithAutoIDIntegrationTest.java
rename to 
components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ProduceMessagesWithAutoIDTest.java
index 8727d96..4eee7a6 100644
--- 
a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ProduceMessagesWithAutoIDIntegrationTest.java
+++ 
b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/ProduceMessagesWithAutoIDTest.java
@@ -18,10 +18,9 @@ package org.apache.camel.component.couchbase;
 
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
-public class ProduceMessagesWithAutoIDIntegrationTest extends CamelTestSupport 
{
+public class ProduceMessagesWithAutoIDTest extends 
CouchbaseIntegrationTestBase {
 
     @Test
     public void testInsert() throws Exception {
@@ -32,7 +31,6 @@ public class ProduceMessagesWithAutoIDIntegrationTest extends 
CamelTestSupport {
         template.sendBody("direct:start", "ugol2");
 
         assertMockEndpointsSatisfied();
-
     }
 
     @Override
@@ -40,10 +38,8 @@ public class ProduceMessagesWithAutoIDIntegrationTest 
extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-
-                // need couchbase installed on localhost
                 from("direct:start").to(
-                        
"couchbase:http://localhost/test?username=root&password=123456&autoStartIdForInserts=true&startingIdForInsertsFrom=1000";)
+                        getConnectionUri() + 
"&autoStartIdForInserts=true&startingIdForInsertsFrom=1000")
                         .to("mock:result");
             }
         };
diff --git 
a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/RemoveMessagesIntegrationTest.java
 
b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/RemoveMessagesTest.java
similarity index 64%
rename from 
components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/RemoveMessagesIntegrationTest.java
rename to 
components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/RemoveMessagesTest.java
index e952e75..26bf3b1 100644
--- 
a/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/RemoveMessagesIntegrationTest.java
+++ 
b/components/camel-couchbase/src/test/java/org/apache/camel/component/couchbase/RemoveMessagesTest.java
@@ -18,18 +18,23 @@ package org.apache.camel.component.couchbase;
 
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
-public class RemoveMessagesIntegrationTest extends CamelTestSupport {
+import static 
org.apache.camel.component.couchbase.CouchbaseConstants.COUCHBASE_DELETE;
+import static 
org.apache.camel.component.couchbase.CouchbaseConstants.HEADER_ID;
+
+public class RemoveMessagesTest extends CouchbaseIntegrationTestBase {
 
     @Test
-    public void testInsert() throws Exception {
+    public void testDelete() throws Exception {
+        for (int i = 0; i < 15; i++) {
+            
cluster.bucket(bucketName).defaultCollection().upsert("DocumentID_" + i, 
"message" + i);
+        }
+
         MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(2);
 
-        template.sendBody("direct:start", "ugol1");
-        template.sendBody("direct:start", "ugol2");
+        template.sendBodyAndHeader("direct:start", "delete the document ", 
HEADER_ID, "DocumentID_1");
+        template.sendBodyAndHeader("direct:start", "delete the document", 
HEADER_ID, "DocumentID_2");
 
         assertMockEndpointsSatisfied();
 
@@ -40,10 +45,8 @@ public class RemoveMessagesIntegrationTest extends 
CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-
-                // need couchbase installed on localhost
-                from("direct:start").setHeader(CouchbaseConstants.HEADER_ID, 
constant("120770"))
-                        
.to("couchbase:http://localhost/default?username=root&password=123456&operation='DELETE'")
+                from("direct:start")
+                        .to(getConnectionUri() + "&operation=" + 
COUCHBASE_DELETE)
                         .to("mock:result");
             }
         };
diff --git 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CouchbaseEndpointBuilderFactory.java
 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CouchbaseEndpointBuilderFactory.java
index 38e13a2..f6ed0b5 100644
--- 
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CouchbaseEndpointBuilderFactory.java
+++ 
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/CouchbaseEndpointBuilderFactory.java
@@ -181,6 +181,34 @@ public interface CouchbaseEndpointBuilderFactory {
             return this;
         }
         /**
+         * If true consumer will return complete document instead data defined
+         * in view.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: consumer
+         */
+        default CouchbaseEndpointConsumerBuilder fullDocument(
+                boolean fullDocument) {
+            doSetProperty("fullDocument", fullDocument);
+            return this;
+        }
+        /**
+         * If true consumer will return complete document instead data defined
+         * in view.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: consumer
+         */
+        default CouchbaseEndpointConsumerBuilder fullDocument(
+                String fullDocument) {
+            doSetProperty("fullDocument", fullDocument);
+            return this;
+        }
+        /**
          * The output limit to use.
          * 
          * The option is a: <code>int</code> type.
@@ -813,6 +841,32 @@ public interface CouchbaseEndpointBuilderFactory {
             return this;
         }
         /**
+         * Define the timeoutconnect in milliseconds.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Default: 2500
+         * Group: advanced
+         */
+        default AdvancedCouchbaseEndpointConsumerBuilder connectTimeout(
+                long connectTimeout) {
+            doSetProperty("connectTimeout", connectTimeout);
+            return this;
+        }
+        /**
+         * Define the timeoutconnect in milliseconds.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Default: 2500
+         * Group: advanced
+         */
+        default AdvancedCouchbaseEndpointConsumerBuilder connectTimeout(
+                String connectTimeout) {
+            doSetProperty("connectTimeout", connectTimeout);
+            return this;
+        }
+        /**
          * Define the operation timeout in milliseconds.
          * 
          * The option is a: <code>long</code> type.
@@ -1174,6 +1228,32 @@ public interface CouchbaseEndpointBuilderFactory {
             return this;
         }
         /**
+         * Define the timeoutconnect in milliseconds.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Default: 2500
+         * Group: advanced
+         */
+        default AdvancedCouchbaseEndpointProducerBuilder connectTimeout(
+                long connectTimeout) {
+            doSetProperty("connectTimeout", connectTimeout);
+            return this;
+        }
+        /**
+         * Define the timeoutconnect in milliseconds.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Default: 2500
+         * Group: advanced
+         */
+        default AdvancedCouchbaseEndpointProducerBuilder connectTimeout(
+                String connectTimeout) {
+            doSetProperty("connectTimeout", connectTimeout);
+            return this;
+        }
+        /**
          * Define the operation timeout in milliseconds.
          * 
          * The option is a: <code>long</code> type.
@@ -1331,6 +1411,32 @@ public interface CouchbaseEndpointBuilderFactory {
             return this;
         }
         /**
+         * Define the timeoutconnect in milliseconds.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Default: 2500
+         * Group: advanced
+         */
+        default AdvancedCouchbaseEndpointBuilder connectTimeout(
+                long connectTimeout) {
+            doSetProperty("connectTimeout", connectTimeout);
+            return this;
+        }
+        /**
+         * Define the timeoutconnect in milliseconds.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Default: 2500
+         * Group: advanced
+         */
+        default AdvancedCouchbaseEndpointBuilder connectTimeout(
+                String connectTimeout) {
+            doSetProperty("connectTimeout", connectTimeout);
+            return this;
+        }
+        /**
          * Define the operation timeout in milliseconds.
          * 
          * The option is a: <code>long</code> type.
diff --git a/docs/components/modules/ROOT/pages/couchbase-component.adoc 
b/docs/components/modules/ROOT/pages/couchbase-component.adoc
index 00d8017..43fe3e2 100644
--- a/docs/components/modules/ROOT/pages/couchbase-component.adoc
+++ b/docs/components/modules/ROOT/pages/couchbase-component.adoc
@@ -75,7 +75,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (44 parameters):
+=== Query Parameters (46 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -89,6 +89,7 @@ with the following path and query parameters:
 | *consumerProcessedStrategy* (consumer) | Define the consumer Processed 
strategy to use | none | String
 | *descending* (consumer) | Define if this operation is descending or not | 
false | boolean
 | *designDocumentName* (consumer) | The design document name to use | beer | 
String
+| *fullDocument* (consumer) | If true consumer will return complete document 
instead data defined in view | false | boolean
 | *limit* (consumer) | The output limit to use | -1 | int
 | *rangeEndKey* (consumer) | Define a range for the end key |  | String
 | *rangeStartKey* (consumer) | Define a range for the start key |  | String
@@ -107,6 +108,7 @@ with the following path and query parameters:
 | *replicateTo* (producer) | Where to replicate the data | 0 | int
 | *startingIdForInsertsFrom* (producer) | Define the starting Id where we are 
doing an insert operation |  | long
 | *additionalHosts* (advanced) | The additional hosts |  | String
+| *connectTimeout* (advanced) | Define the timeoutconnect in milliseconds | 
2500 | long
 | *queryTimeout* (advanced) | Define the operation timeout in milliseconds | 
2500 | long
 | *synchronous* (advanced) | Sets whether synchronous processing should be 
strictly used, or Camel is allowed to use asynchronous processing (if 
supported). | false | boolean
 | *backoffErrorThreshold* (scheduler) | The number of subsequent error polls 
(failed due some error) that should happen before the backoffMultipler should 
kick-in. |  | int

Reply via email to