Aaron Whiteside created CAMEL-6105:
--------------------------------------

             Summary: Make DirectProducer throw a specific exception when it 
cannot find the corresponding consumer, instead of a generic 
CamelExchangeException.
                 Key: CAMEL-6105
                 URL: https://issues.apache.org/jira/browse/CAMEL-6105
             Project: Camel
          Issue Type: New Feature
          Components: camel-core
    Affects Versions: 2.10.3
            Reporter: Aaron Whiteside


Make DirectProducer throw a specific exception when it cannot find the 
corresponding consumer, instead of a generic CamelExchangeException.

Our use case is that some routes will be dynamically redeployed at run-time, 
this is not a problem for routes using jms:xxx and other such endpoints, but 
for  direct:xxx endpoints this poses a problem.

I am asking if we could change DirectProducer to throw a new exception 
something like NoConsumerAvailableException which extends 
CamelExchangeException for backwards compatibility. As this would allow us to 
setup a default re-delivery policy for this specific exception.

I also have a second request, let me know if you want this in a separate jira 
issue.

Ideally instead of retrying when a direct endpoints consumer disappears 
temporarily it would be nice if the direct producer would blocked 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