[
https://issues.apache.org/jira/browse/CAMEL-7905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14228079#comment-14228079
]
Ben O'Day edited comment on CAMEL-7905 at 11/29/14 5:34 AM:
------------------------------------------------------------
[~dpr] - what should happen to the message that was sent...just throw it away?
a seda producer can create a blocking queue on demand to hold the message until
a consumer comes along. this doesn't work for direct however given the need to
make a synchronous call...hence the block option, etc.
was (Author: boday):
[~dpr] - would should happen to the message that was sent...just throw it away?
a seda producer can create a blocking queue on demand to hold the message
until a consumer comes along. this doesn't work for direct however given the
need to make a synchronous call...hence the block option, etc.
> New option to ignore missing consumers on direct endpoints
> ----------------------------------------------------------
>
> Key: CAMEL-7905
> URL: https://issues.apache.org/jira/browse/CAMEL-7905
> Project: Camel
> Issue Type: Improvement
> Affects Versions: 2.14.0
> Reporter: Daniel
>
> Currently a {{DirectConsumerNotAvailableException}} or
> {{DirectVmConsumerNotAvailableException}} is thrown when a message is send
> via a direct endoint and no consumer has been set up for this endpoint.
> In a current scenario I want to use camel to loosely couple two components
> using direct endpoints that _might_ be consumed by some bean. Especially
> there should be no dependency from the producing component to the consuming
> component. However, if there is a consumer, messages send from the producer
> must be consumed synchronously in the same thread to preserve the transaction
> context of the producer. That why I chose {{direct}} for the producer's
> endpoint.
> What is meant by "the messages might be consumed" is that the consuming
> component might not be deployed, when the consumer produces the first
> messages, or perhaps will never be deployed. I know there is the {{block}}
> option for the {{direct}} component but I don't want the producer to wait for
> the consumer as it might take some time (possibly forever) for the consumer
> to be available.
> I think this is a very common scenario for a messaging system and I was
> surprised not to find an easy out-of-the-box way to handle this with camel.
> That's why I think an additional option {{failIfNoConsumers}} (similar to the
> option for the seda component) for the {{direct}} and {{direct-vm}} component
> would be very handy.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)