This is an automated email from the ASF dual-hosted git repository. oalsafi 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 f3bd3a3 CAMEL-15365: Add autoDiscovery option and tweak the info messages for better user visibility (#4067) f3bd3a3 is described below commit f3bd3a3d7414db9e89e611d7dd8fed1db2a131a7 Author: Omar Al-Safi <omars...@gmail.com> AuthorDate: Mon Aug 3 11:46:58 2020 +0200 CAMEL-15365: Add autoDiscovery option and tweak the info messages for better user visibility (#4067) --- .../storage/blob/BlobComponentConfigurer.java | 5 ++ .../azure/storage/blob/BlobEndpointConfigurer.java | 5 ++ .../azure/storage/blob/azure-storage-blob.json | 2 + .../main/docs/azure-storage-blob-component.adoc | 6 +- .../azure/storage/blob/BlobComponent.java | 18 +++-- .../azure/storage/blob/BlobConfiguration.java | 15 ++++ .../azure/storage/queue/QueueComponent.java | 18 +++-- .../azure/storage/queue/QueueConfiguration.java | 15 ++++ .../AzureStorageBlobComponentBuilderFactory.java | 16 ++++ .../endpoint/dsl/BlobEndpointBuilderFactory.java | 89 ++++++++++++++++++++++ 10 files changed, 171 insertions(+), 18 deletions(-) diff --git a/components/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobComponentConfigurer.java b/components/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobComponentConfigurer.java index 4206e08..463749f 100644 --- a/components/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobComponentConfigurer.java +++ b/components/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobComponentConfigurer.java @@ -28,6 +28,8 @@ public class BlobComponentConfigurer extends PropertyConfigurerSupport implement switch (ignoreCase ? name.toLowerCase() : name) { case "accesskey": case "accessKey": getOrCreateConfiguration(target).setAccessKey(property(camelContext, java.lang.String.class, value)); return true; + case "autodiscoverclient": + case "autoDiscoverClient": getOrCreateConfiguration(target).setAutoDiscoverClient(property(camelContext, boolean.class, value)); return true; case "basicpropertybinding": case "basicPropertyBinding": target.setBasicPropertyBinding(property(camelContext, boolean.class, value)); return true; case "blobname": @@ -81,6 +83,7 @@ public class BlobComponentConfigurer extends PropertyConfigurerSupport implement public Map<String, Object> getAllOptions(Object target) { Map<String, Object> answer = new CaseInsensitiveMap(); answer.put("accessKey", java.lang.String.class); + answer.put("autoDiscoverClient", boolean.class); answer.put("basicPropertyBinding", boolean.class); answer.put("blobName", java.lang.String.class); answer.put("blobOffset", long.class); @@ -115,6 +118,8 @@ public class BlobComponentConfigurer extends PropertyConfigurerSupport implement switch (ignoreCase ? name.toLowerCase() : name) { case "accesskey": case "accessKey": return getOrCreateConfiguration(target).getAccessKey(); + case "autodiscoverclient": + case "autoDiscoverClient": return getOrCreateConfiguration(target).isAutoDiscoverClient(); case "basicpropertybinding": case "basicPropertyBinding": return target.isBasicPropertyBinding(); case "blobname": diff --git a/components/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobEndpointConfigurer.java b/components/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobEndpointConfigurer.java index 3e0bc8e..b445899 100644 --- a/components/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobEndpointConfigurer.java +++ b/components/camel-azure-storage-blob/src/generated/java/org/apache/camel/component/azure/storage/blob/BlobEndpointConfigurer.java @@ -21,6 +21,8 @@ public class BlobEndpointConfigurer extends PropertyConfigurerSupport implements switch (ignoreCase ? name.toLowerCase() : name) { case "accesskey": case "accessKey": target.getConfiguration().setAccessKey(property(camelContext, java.lang.String.class, value)); return true; + case "autodiscoverclient": + case "autoDiscoverClient": target.getConfiguration().setAutoDiscoverClient(property(camelContext, boolean.class, value)); return true; case "basicpropertybinding": case "basicPropertyBinding": target.setBasicPropertyBinding(property(camelContext, boolean.class, value)); return true; case "blobname": @@ -80,6 +82,7 @@ public class BlobEndpointConfigurer extends PropertyConfigurerSupport implements public Map<String, Object> getAllOptions(Object target) { Map<String, Object> answer = new CaseInsensitiveMap(); answer.put("accessKey", java.lang.String.class); + answer.put("autoDiscoverClient", boolean.class); answer.put("basicPropertyBinding", boolean.class); answer.put("blobName", java.lang.String.class); answer.put("blobOffset", long.class); @@ -117,6 +120,8 @@ public class BlobEndpointConfigurer extends PropertyConfigurerSupport implements switch (ignoreCase ? name.toLowerCase() : name) { case "accesskey": case "accessKey": return target.getConfiguration().getAccessKey(); + case "autodiscoverclient": + case "autoDiscoverClient": return target.getConfiguration().isAutoDiscoverClient(); case "basicpropertybinding": case "basicPropertyBinding": return target.isBasicPropertyBinding(); case "blobname": diff --git a/components/camel-azure-storage-blob/src/generated/resources/org/apache/camel/component/azure/storage/blob/azure-storage-blob.json b/components/camel-azure-storage-blob/src/generated/resources/org/apache/camel/component/azure/storage/blob/azure-storage-blob.json index 5742d29..2aa3347 100644 --- a/components/camel-azure-storage-blob/src/generated/resources/org/apache/camel/component/azure/storage/blob/azure-storage-blob.json +++ b/components/camel-azure-storage-blob/src/generated/resources/org/apache/camel/component/azure/storage/blob/azure-storage-blob.json @@ -21,6 +21,7 @@ "lenientProperties": false }, "componentProperties": { + "autoDiscoverClient": { "kind": "property", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in [...] "blobName": { "kind": "property", "displayName": "Blob Name", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "The blob name, required for consumer. However on producer, is only required for the operations on the blob level" }, "blobOffset": { "kind": "property", "displayName": "Blob Offset", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "secret": false, "defaultValue": "0", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Set the blob offset for the upload or download operations, default is 0" }, "blobType": { "kind": "property", "displayName": "Blob Type", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.component.azure.storage.blob.BlobType", "enum": [ "blockblob", "appendblob", "pageblob" ], "deprecated": false, "secret": false, "defaultValue": "blockblob", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "The blob type in or [...] @@ -51,6 +52,7 @@ "properties": { "accountName": { "kind": "path", "displayName": "Account Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Azure account name to be used for authentication with azure blob services" }, "containerName": { "kind": "path", "displayName": "Container Name", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "The blob container name" }, + "autoDiscoverClient": { "kind": "parameter", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in [...] "blobName": { "kind": "parameter", "displayName": "Blob Name", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "The blob name, required for consumer. However on producer, is only required for the operations on the blob level" }, "blobOffset": { "kind": "parameter", "displayName": "Blob Offset", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "secret": false, "defaultValue": "0", "configurationClass": "org.apache.camel.component.azure.storage.blob.BlobConfiguration", "configurationField": "configuration", "description": "Set the blob offset for the upload or download operations, default is 0" }, "blobServiceClient": { "kind": "parameter", "displayName": "Blob Service Client", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.azure.storage.blob.BlobServiceClient", "deprecated": false, "secret": false, "description": "Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to cons [...] diff --git a/components/camel-azure-storage-blob/src/main/docs/azure-storage-blob-component.adoc b/components/camel-azure-storage-blob/src/main/docs/azure-storage-blob-component.adoc index 9cbaa02..8310763 100644 --- a/components/camel-azure-storage-blob/src/main/docs/azure-storage-blob-component.adoc +++ b/components/camel-azure-storage-blob/src/main/docs/azure-storage-blob-component.adoc @@ -64,13 +64,14 @@ to("file://blobdirectory"); // component options: START -The Azure Storage Blob Service component supports 26 options, which are listed below. +The Azure Storage Blob Service component supports 27 options, which are listed below. [width="100%",cols="2,5,^1,2",options="header"] |=== | Name | Description | Default | Type +| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | boolean | *blobName* (common) | The blob name, required for consumer. However on producer, is only required for the operations on the blob level | | String | *blobOffset* (common) | Set the blob offset for the upload or download operations, default is 0 | 0 | long | *blobType* (common) | The blob type in order to initiate the appropriate settings for each blob type. The value can be one of: blockblob, appendblob, pageblob | blockblob | BlobType @@ -120,12 +121,13 @@ with the following path and query parameters: |=== -=== Query Parameters (29 parameters): +=== Query Parameters (30 parameters): [width="100%",cols="2,5,^1,2",options="header"] |=== | Name | Description | Default | Type +| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | boolean | *blobName* (common) | The blob name, required for consumer. However on producer, is only required for the operations on the blob level | | String | *blobOffset* (common) | Set the blob offset for the upload or download operations, default is 0 | 0 | long | *blobServiceClient* (common) | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob are available [...] diff --git a/components/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobComponent.java b/components/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobComponent.java index 8cf61c3..c059c6c 100644 --- a/components/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobComponent.java +++ b/components/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobComponent.java @@ -70,9 +70,11 @@ public class BlobComponent extends DefaultComponent { final BlobEndpoint endpoint = new BlobEndpoint(uri, this, configuration); setProperties(endpoint, parameters); - checkAndSetRegistryClient(configuration, endpoint); - checkCredentials(configuration); + if (configuration.isAutoDiscoverClient()) { + checkAndSetRegistryClient(configuration); + } + checkCredentials(configuration); validateConfigurations(configuration); return endpoint; @@ -101,18 +103,18 @@ public class BlobComponent extends DefaultComponent { } } - private void checkAndSetRegistryClient(final BlobConfiguration configuration, final BlobEndpoint endpoint) { - if (ObjectHelper.isEmpty(endpoint.getConfiguration().getServiceClient())) { - LOG.debug("Looking for an BlobServiceClient instance in the registry"); + private void checkAndSetRegistryClient(final BlobConfiguration configuration) { + if (ObjectHelper.isEmpty(configuration.getServiceClient())) { final Set<BlobServiceClient> clients = getCamelContext().getRegistry().findByType(BlobServiceClient.class); if (clients.size() == 1) { - LOG.debug("Found exactly one BlobServiceClient instance in the registry"); configuration.setServiceClient(clients.stream().findFirst().get()); + } else if (clients.size() > 1) { + LOG.info("More than one BlobServiceClient instance in the registry, make sure to have only one instance"); } else { - LOG.debug("No BlobServiceClient instance in the registry"); + LOG.info("No BlobServiceClient instance in the registry"); } } else { - LOG.debug("BlobServiceClient instance is already set at endpoint level: skipping the check in the registry"); + LOG.info("BlobServiceClient instance is already set at endpoint level: skipping the check in the registry"); } } diff --git a/components/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConfiguration.java b/components/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConfiguration.java index b3e96cd..c9be2c9 100644 --- a/components/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConfiguration.java +++ b/components/camel-azure-storage-blob/src/main/java/org/apache/camel/component/azure/storage/blob/BlobConfiguration.java @@ -63,6 +63,8 @@ public class BlobConfiguration implements Cloneable { private Integer maxResultsPerPage; @UriParam(label = "common", defaultValue = "0") private int maxRetryRequests; + @UriParam(label = "common", defaultValue = "true") + private boolean autoDiscoverClient = true; @UriParam(defaultValue = "true") private boolean closeStreamAfterRead = true; @UriParam(label = "producer", defaultValue = "true") @@ -353,6 +355,19 @@ public class BlobConfiguration implements Cloneable { this.blockListType = blockListType; } + /** + * Setting the autoDiscoverClient mechanism, if true, the component will + * look for a client instance in the registry automatically otherwise it + * will skip that checking. + */ + public boolean isAutoDiscoverClient() { + return autoDiscoverClient; + } + + public void setAutoDiscoverClient(boolean autoDiscoverClient) { + this.autoDiscoverClient = autoDiscoverClient; + } + // ************************************************* // // ************************************************* diff --git a/components/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/QueueComponent.java b/components/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/QueueComponent.java index 9dec2be..c9543e1 100644 --- a/components/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/QueueComponent.java +++ b/components/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/QueueComponent.java @@ -70,9 +70,11 @@ public class QueueComponent extends DefaultComponent { final QueueEndpoint endpoint = new QueueEndpoint(uri, this, configuration); setProperties(endpoint, parameters); - checkAndSetRegistryClient(configuration, endpoint); - checkCredentials(configuration); + if (configuration.isAutoDiscoverClient()) { + checkAndSetRegistryClient(configuration); + } + checkCredentials(configuration); validateConfigurations(configuration); return endpoint; @@ -101,18 +103,18 @@ public class QueueComponent extends DefaultComponent { } } - private void checkAndSetRegistryClient(final QueueConfiguration configuration, final QueueEndpoint endpoint) { - if (ObjectHelper.isEmpty(endpoint.getConfiguration().getServiceClient())) { - LOG.debug("Looking for an QueueServiceClient instance in the registry"); + private void checkAndSetRegistryClient(final QueueConfiguration configuration) { + if (ObjectHelper.isEmpty(configuration.getServiceClient())) { final Set<QueueServiceClient> clients = getCamelContext().getRegistry().findByType(QueueServiceClient.class); if (clients.size() == 1) { - LOG.debug("Found exactly one QueueServiceClient instance in the registry"); configuration.setServiceClient(clients.stream().findFirst().get()); + } else if (clients.size() > 1) { + LOG.info("More than one QueueServiceClient instance in the registry, make sure to have only one instance"); } else { - LOG.debug("No QueueServiceClient instance in the registry"); + LOG.info("No QueueServiceClient instance in the registry"); } } else { - LOG.debug("QueueServiceClient instance is already set at endpoint level: skipping the check in the registry"); + LOG.info("QueueServiceClient instance is already set at endpoint level: skipping the check in the registry"); } } diff --git a/components/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/QueueConfiguration.java b/components/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/QueueConfiguration.java index 535ee2f..79e985c 100644 --- a/components/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/QueueConfiguration.java +++ b/components/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/QueueConfiguration.java @@ -38,6 +38,8 @@ public class QueueConfiguration implements Cloneable { private String accessKey; @UriParam(label = "common") private QueueServiceClient serviceClient; + @UriParam(label = "common", defaultValue = "true") + private boolean autoDiscoverClient = true; @UriParam(label = "producer") private QueueOperationDefinition operation = QueueOperationDefinition.sendMessage; @UriParam(label = "producer", defaultValue = "true") @@ -217,6 +219,19 @@ public class QueueConfiguration implements Cloneable { this.popReceipt = popReceipt; } + /** + * Setting the autoDiscoverClient mechanism, if true, the component will + * look for a client instance in the registry automatically otherwise it + * will skip that checking. + */ + public boolean isAutoDiscoverClient() { + return autoDiscoverClient; + } + + public void setAutoDiscoverClient(boolean autoDiscoverClient) { + this.autoDiscoverClient = autoDiscoverClient; + } + // ************************************************* // // ************************************************* diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AzureStorageBlobComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AzureStorageBlobComponentBuilderFactory.java index 9bf91c9..205c319 100644 --- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AzureStorageBlobComponentBuilderFactory.java +++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AzureStorageBlobComponentBuilderFactory.java @@ -49,6 +49,21 @@ public interface AzureStorageBlobComponentBuilderFactory { extends ComponentBuilder<BlobComponent> { /** + * Setting the autoDiscoverClient mechanism, if true, the component will + * look for a client instance in the registry automatically otherwise it + * will skip that checking. + * + * The option is a: <code>boolean</code> type. + * + * Default: true + * Group: common + */ + default AzureStorageBlobComponentBuilder autoDiscoverClient( + boolean autoDiscoverClient) { + doSetProperty("autoDiscoverClient", autoDiscoverClient); + return this; + } + /** * The blob name, required for consumer. However on producer, is only * required for the operations on the blob level. * @@ -448,6 +463,7 @@ public interface AzureStorageBlobComponentBuilderFactory { String name, Object value) { switch (name) { + case "autoDiscoverClient": getOrCreateConfiguration((BlobComponent) component).setAutoDiscoverClient((boolean) value); return true; case "blobName": getOrCreateConfiguration((BlobComponent) component).setBlobName((java.lang.String) value); return true; case "blobOffset": getOrCreateConfiguration((BlobComponent) component).setBlobOffset((long) value); return true; case "blobType": getOrCreateConfiguration((BlobComponent) component).setBlobType((org.apache.camel.component.azure.storage.blob.BlobType) value); return true; diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BlobEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BlobEndpointBuilderFactory.java index a05d6f6..d867be8 100644 --- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BlobEndpointBuilderFactory.java +++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/BlobEndpointBuilderFactory.java @@ -44,6 +44,36 @@ public interface BlobEndpointBuilderFactory { return (AdvancedBlobEndpointConsumerBuilder) this; } /** + * Setting the autoDiscoverClient mechanism, if true, the component will + * look for a client instance in the registry automatically otherwise it + * will skip that checking. + * + * The option is a: <code>boolean</code> type. + * + * Default: true + * Group: common + */ + default BlobEndpointConsumerBuilder autoDiscoverClient( + boolean autoDiscoverClient) { + doSetProperty("autoDiscoverClient", autoDiscoverClient); + return this; + } + /** + * Setting the autoDiscoverClient mechanism, if true, the component will + * look for a client instance in the registry automatically otherwise it + * will skip that checking. + * + * The option will be converted to a <code>boolean</code> type. + * + * Default: true + * Group: common + */ + default BlobEndpointConsumerBuilder autoDiscoverClient( + String autoDiscoverClient) { + doSetProperty("autoDiscoverClient", autoDiscoverClient); + return this; + } + /** * The blob name, required for consumer. However on producer, is only * required for the operations on the blob level. * @@ -567,6 +597,36 @@ public interface BlobEndpointBuilderFactory { return (AdvancedBlobEndpointProducerBuilder) this; } /** + * Setting the autoDiscoverClient mechanism, if true, the component will + * look for a client instance in the registry automatically otherwise it + * will skip that checking. + * + * The option is a: <code>boolean</code> type. + * + * Default: true + * Group: common + */ + default BlobEndpointProducerBuilder autoDiscoverClient( + boolean autoDiscoverClient) { + doSetProperty("autoDiscoverClient", autoDiscoverClient); + return this; + } + /** + * Setting the autoDiscoverClient mechanism, if true, the component will + * look for a client instance in the registry automatically otherwise it + * will skip that checking. + * + * The option will be converted to a <code>boolean</code> type. + * + * Default: true + * Group: common + */ + default BlobEndpointProducerBuilder autoDiscoverClient( + String autoDiscoverClient) { + doSetProperty("autoDiscoverClient", autoDiscoverClient); + return this; + } + /** * The blob name, required for consumer. However on producer, is only * required for the operations on the blob level. * @@ -1282,6 +1342,35 @@ public interface BlobEndpointBuilderFactory { return (AdvancedBlobEndpointBuilder) this; } /** + * Setting the autoDiscoverClient mechanism, if true, the component will + * look for a client instance in the registry automatically otherwise it + * will skip that checking. + * + * The option is a: <code>boolean</code> type. + * + * Default: true + * Group: common + */ + default BlobEndpointBuilder autoDiscoverClient( + boolean autoDiscoverClient) { + doSetProperty("autoDiscoverClient", autoDiscoverClient); + return this; + } + /** + * Setting the autoDiscoverClient mechanism, if true, the component will + * look for a client instance in the registry automatically otherwise it + * will skip that checking. + * + * The option will be converted to a <code>boolean</code> type. + * + * Default: true + * Group: common + */ + default BlobEndpointBuilder autoDiscoverClient(String autoDiscoverClient) { + doSetProperty("autoDiscoverClient", autoDiscoverClient); + return this; + } + /** * The blob name, required for consumer. However on producer, is only * required for the operations on the blob level. *