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);