[
https://issues.apache.org/jira/browse/CAMEL-17705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jawad Ahmad updated CAMEL-17705:
--------------------------------
Description:
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 Clause 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.
was:
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}
Environment:
Class : SalesforceComponent
Method: doStart
{code:java}
setupHttpClient(httpClient, getCamelContext(), httpClientProperties);
// support restarts
if (session == null) {
session = new SalesforceSession(getCamelContext(), httpClient,
httpClient.getTimeout(), loginConfig);
}
{code}
> 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
> Environment: Class : SalesforceComponent
> Method: doStart
> {code:java}
> setupHttpClient(httpClient, getCamelContext(), httpClientProperties);
> // support restarts
> if (session == null) {
> session = new SalesforceSession(getCamelContext(), httpClient,
> httpClient.getTimeout(), loginConfig);
> }
> {code}
> Reporter: Jawad Ahmad
> Priority: Minor
>
> 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 Clause 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.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)