You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by je...@apache.org on 2022/03/25 15:19:49 UTC

[camel] branch main updated: CAMEL-17705: camel-salesforce: HTTP request timeout option.

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

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


The following commit(s) were added to refs/heads/main by this push:
     new 91848c1  CAMEL-17705: camel-salesforce: HTTP request timeout option.
91848c1 is described below

commit 91848c1114f60e2242b356805439bcf9ff5903c8
Author: Jeremy Ross <je...@gmail.com>
AuthorDate: Fri Mar 25 10:18:32 2022 -0500

    CAMEL-17705: camel-salesforce: HTTP request timeout option.
---
 .../salesforce/SalesforceComponentConfigurer.java     |  6 ++++++
 .../apache/camel/component/salesforce/salesforce.json |  1 +
 .../component/salesforce/SalesforceComponent.java     | 19 +++++++++++++++++++
 3 files changed, 26 insertions(+)

diff --git a/components/camel-salesforce/camel-salesforce-component/src/generated/java/org/apache/camel/component/salesforce/SalesforceComponentConfigurer.java b/components/camel-salesforce/camel-salesforce-component/src/generated/java/org/apache/camel/component/salesforce/SalesforceComponentConfigurer.java
index 173d977..3db266e 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/generated/java/org/apache/camel/component/salesforce/SalesforceComponentConfigurer.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/generated/java/org/apache/camel/component/salesforce/SalesforceComponentConfigurer.java
@@ -96,6 +96,8 @@ public class SalesforceComponentConfigurer extends PropertyConfigurerSupport imp
         case "httpProxyUsername": target.setHttpProxyUsername(property(camelContext, java.lang.String.class, value)); return true;
         case "httprequestbuffersize":
         case "httpRequestBufferSize": target.setHttpRequestBufferSize(property(camelContext, java.lang.Integer.class, value)); return true;
+        case "httprequesttimeout":
+        case "httpRequestTimeout": target.setHttpRequestTimeout(property(camelContext, long.class, value)); return true;
         case "includedetails":
         case "includeDetails": getOrCreateConfig(target).setIncludeDetails(property(camelContext, java.lang.Boolean.class, value)); return true;
         case "initialreplayidmap":
@@ -278,6 +280,8 @@ public class SalesforceComponentConfigurer extends PropertyConfigurerSupport imp
         case "httpProxyUsername": return java.lang.String.class;
         case "httprequestbuffersize":
         case "httpRequestBufferSize": return java.lang.Integer.class;
+        case "httprequesttimeout":
+        case "httpRequestTimeout": return long.class;
         case "includedetails":
         case "includeDetails": return java.lang.Boolean.class;
         case "initialreplayidmap":
@@ -461,6 +465,8 @@ public class SalesforceComponentConfigurer extends PropertyConfigurerSupport imp
         case "httpProxyUsername": return target.getHttpProxyUsername();
         case "httprequestbuffersize":
         case "httpRequestBufferSize": return target.getHttpRequestBufferSize();
+        case "httprequesttimeout":
+        case "httpRequestTimeout": return target.getHttpRequestTimeout();
         case "includedetails":
         case "includeDetails": return getOrCreateConfig(target).getIncludeDetails();
         case "initialreplayidmap":
diff --git a/components/camel-salesforce/camel-salesforce-component/src/generated/resources/org/apache/camel/component/salesforce/salesforce.json b/components/camel-salesforce/camel-salesforce-component/src/generated/resources/org/apache/camel/component/salesforce/salesforce.json
index 60eab17..091c3cc 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/generated/resources/org/apache/camel/component/salesforce/salesforce.json
+++ b/components/camel-salesforce/camel-salesforce-component/src/generated/resources/org/apache/camel/component/salesforce/salesforce.json
@@ -37,6 +37,7 @@
     "httpClientIdleTimeout": { "kind": "property", "displayName": "Http Client Idle Timeout", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 10000, "description": "Timeout used by the HttpClient when waiting for response from the Salesforce server." },
     "httpMaxContentLength": { "kind": "property", "displayName": "Http Max Content Length", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Max content length of an HTTP response." },
     "httpRequestBufferSize": { "kind": "property", "displayName": "Http Request Buffer Size", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "8192", "description": "HTTP request buffer size. May need to be increased for large SOQL queries." },
+    "httpRequestTimeout": { "kind": "property", "displayName": "Http Request Timeout", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 60000, "description": "Timeout value for HTTP requests." },
     "includeDetails": { "kind": "property", "displayName": "Include Details", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Include details in Salesforce1 Analytics report, defaults to false." },
     "initialReplayIdMap": { "kind": "property", "displayName": "Initial Replay Id Map", "group": "common", "label": "", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Long>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Replay IDs to start from per channel name." },
     "instanceId": { "kind": "property", "displayName": "Instance Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Salesforce1 Analytics report execution instance ID" },
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
index 0fca548..248e650 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
@@ -82,10 +82,12 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP
     public static final String HTTP_PROXY_REALM = "httpProxyRealm";
     public static final String HTTP_CONNECTION_TIMEOUT = "httpConnectionTimeout";
     public static final String HTTP_IDLE_TIMEOUT = "httpIdleTimeout";
+    public static final String HTTP_REQUEST_TIMEOUT = "httpRequestTimeout";
     public static final String HTTP_MAX_CONTENT_LENGTH = "httpMaxContentLength";
     public static final String HTTP_REQUEST_BUFFER_SIZE = "httpRequestBufferSize";
 
     static final int CONNECTION_TIMEOUT = 60000;
+    static final int REQUEST_TIMEOUT = 60000;
     static final int IDLE_TIMEOUT = 10000;
     static final int REQUEST_BUFFER_SIZE = 8192;
 
@@ -174,6 +176,10 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP
               label = "common", defaultValue = "" + CONNECTION_TIMEOUT)
     private long httpClientConnectionTimeout = CONNECTION_TIMEOUT;
 
+    @Metadata(description = "Timeout value for HTTP requests.",
+              label = "common", defaultValue = "" + REQUEST_TIMEOUT)
+    private long httpRequestTimeout = REQUEST_TIMEOUT;
+
     @Metadata(description = "Max content length of an HTTP response.", label = "common")
     private Integer httpMaxContentLength;
 
@@ -625,6 +631,14 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP
         this.httpClientConnectionTimeout = httpClientConnectionTimeout;
     }
 
+    public long getHttpRequestTimeout() {
+        return httpRequestTimeout;
+    }
+
+    public void setHttpRequestTimeout(long httpRequestTimeout) {
+        this.httpRequestTimeout = httpRequestTimeout;
+    }
+
     public Integer getHttpMaxContentLength() {
         return httpMaxContentLength;
     }
@@ -857,6 +871,7 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP
         final Long httpConnectionTimeout
                 = typeConverter.convertTo(Long.class, httpClientProperties.get(HTTP_CONNECTION_TIMEOUT));
         final Long httpIdleTimeout = typeConverter.convertTo(Long.class, httpClientProperties.get(HTTP_IDLE_TIMEOUT));
+        final Long httpRequestTimeout = typeConverter.convertTo(Long.class, httpClientProperties.get(HTTP_REQUEST_TIMEOUT));
         final Integer maxContentLength
                 = typeConverter.convertTo(Integer.class, httpClientProperties.get(HTTP_MAX_CONTENT_LENGTH));
         Integer requestBufferSize
@@ -892,6 +907,9 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP
         if (maxContentLength != null) {
             httpClient.setMaxContentLength(maxContentLength);
         }
+        if (httpRequestTimeout != null) {
+            httpClient.setTimeout(httpRequestTimeout);
+        }
         httpClient.setRequestBufferSize(requestBufferSize);
 
         // set HTTP proxy settings
@@ -932,6 +950,7 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP
             final Map<String, Object> httpClientProperties, final SalesforceComponent salesforce) {
         putValueIfGivenTo(httpClientProperties, HTTP_IDLE_TIMEOUT, salesforce::getHttpClientIdleTimeout);
         putValueIfGivenTo(httpClientProperties, HTTP_CONNECTION_TIMEOUT, salesforce::getHttpClientConnectionTimeout);
+        putValueIfGivenTo(httpClientProperties, HTTP_REQUEST_TIMEOUT, salesforce::getHttpRequestTimeout);
 
         putValueIfGivenTo(httpClientProperties, HTTP_PROXY_HOST, salesforce::getHttpProxyHost);
         putValueIfGivenTo(httpClientProperties, HTTP_PROXY_PORT, salesforce::getHttpProxyPort);