[ 
https://issues.apache.org/jira/browse/CAMEL-16084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17282428#comment-17282428
 ] 

Claus Ibsen commented on CAMEL-16084:
-------------------------------------

> .wireTap("direct:sendToSalesforce").executorService(
 new 
ThreadPoolBuilder(context).maxPoolSize(1).maxQueueSize(1).poolSize(1).build()); 

You can get concurrent access because the wiretap rejection policy is 
CallerRuns by default. So it will just use current thread to call the direct 
endpoint.
There is no rejection policy from JDK thread pools that has a "block" or 
"timeout". And we do not have any custom implementation for that.


> salesforce: Out of order execution
> ----------------------------------
>
>                 Key: CAMEL-16084
>                 URL: https://issues.apache.org/jira/browse/CAMEL-16084
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-salesforce
>    Affects Versions: 3.7.1
>            Reporter: Jeremy Ross
>            Assignee: Jeremy Ross
>            Priority: Major
>         Attachments: wiretap-results.txt
>
>
> When using a salesforce operation after an aggregator,  control seems to 
> return to the aggregate caller immediately instead of proceeding with 
> processors downstream from the salesforce operation. This is the behavior I'd 
> expect if using the aggregator with parallelProcessing.
> I believe this is longstanding behavior, however with the removal of the 
> `synchronous` option from the salesforce component (CAMEL-14138), we've 
> removed a workaround to this issue. 
> I'm seeing the same behavior with a salesforce operation via a wiretap with a 
> threadpool with poolsize, maxsize and queuesize of 1, which should 
> effectively behave in a synchronous manner.
> Test case: https://gist.github.com/jeremyross/4d7d14a33452edf236faefda77ad3e3d



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to