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

Claus Ibsen commented on CAMEL-6151:
------------------------------------

The blocking behavior should only be in use if the options has been set. So its 
much better to in DirectEndpoint to create a producer accordingly to the options
- DirectProducer = the current default
- DirectBlockingProducer = a new which has the blocking behavior.

Then the code can be separated and avoid complicated synchronization code and 
whatnot.

The blocking should just loop and re-check if the consumer is there, until it 
either times out, or get a consumer.
                
> Add support to DirectEndpoint for blocking until a consumer is available
> ------------------------------------------------------------------------
>
>                 Key: CAMEL-6151
>                 URL: https://issues.apache.org/jira/browse/CAMEL-6151
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.10.4, 2.11.0
>            Reporter: Aaron Whiteside
>             Fix For: Future
>
>         Attachments: blocking_producer2.patch, blocking_producer.patch
>
>
> My use case is that some routes will be dynamically redployed at runtime.
> Ideally instead of retrying when a direct endpoints consumer disappears 
> temporarily it would be nice if the direct producer would block for a 
> configurable duration waiting for a consumer to come, back, into existence.
> The default would obviously be not to block, to maintain backwards 
> compatibility.
> Something along these lines:
> {code}
> direct:xxxx?block=true&timeout=5000
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to