You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2013/04/09 16:12:15 UTC

[jira] [Commented] (CAMEL-6151) Add support to DirectEndpoint for blocking until a consumer is available

    [ 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