[
https://issues.apache.org/jira/browse/CAMEL-17705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17499997#comment-17499997
]
Jawad Ahmad commented on CAMEL-17705:
-------------------------------------
[~ramu11]
Here is the configuration I used to directly set properties on the HTTP client
itself.
camel.component.salesforce.httpClientProperties.httpConnectionTimeout=360000
camel.component.salesforce.httpClientProperties.httpClientProperties=10000
Tried the configuration from Docs as well as :
camel.component.salesforce.http-client-connection-timeout= 360000
> Camel Salesforce - Http Client timout is hardcoded
> --------------------------------------------------
>
> Key: CAMEL-17705
> URL: https://issues.apache.org/jira/browse/CAMEL-17705
> Project: Camel
> Issue Type: Improvement
> Components: camel-salesforce
> Affects Versions: 3.14.0, 3.15.0
> Reporter: Jawad Ahmad
> Assignee: Ramu
> Priority: Major
>
> I am using Bulk V2 API to upload large files to Salesforce. I have noticed
> that on creating the job from Producer it times out with Timeout exception. I
> tried to change the timeout configuration but noticed its always gets set to
> a hardcoded one.
> Class : SalesforceComponent
> {code:java}
> static SalesforceHttpClient createHttpClient(
> Object source, final SslContextFactory sslContextFactory, final
> CamelContext context, int workerPoolSize,
> int workerPoolMaxSize) {
> SecurityUtils.adaptToIBMCipherNames(sslContextFactory);
> final SalesforceHttpClient httpClient = new SalesforceHttpClient(
> context,
> context.getExecutorServiceManager().newThreadPool(source,
> "SalesforceHttpClient", workerPoolSize,
> workerPoolMaxSize),
> sslContextFactory);
> // default settings, use httpClientProperties to set other
> // properties
> httpClient.setConnectTimeout(CONNECTION_TIMEOUT);
> httpClient.setIdleTimeout(IDLE_TIMEOUT);
> return httpClient;
> }
> {code}
> As suggested by Claus to use httpClientProperties. In that case, HTTP client
> does set the connection timeout of the configured value. But it passes
> timeout value to SalesforceSession instead of ConnectionTimeout value. So it
> still gets failed with a Timeout error.
> Class : SalesforceComponent
> Method: doStart
> {code:java}
> setupHttpClient(httpClient, getCamelContext(), httpClientProperties);
> // support restarts
> if (session == null) {
> session = new SalesforceSession(getCamelContext(), httpClient,
> httpClient.getTimeout(), loginConfig);
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)