camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ben O'Day (JIRA)" <>
Subject [jira] [Commented] (CAMEL-7905) New option to ignore missing consumers on direct endpoints
Date Fri, 28 Nov 2014 05:31:12 GMT


Ben O'Day commented on CAMEL-7905:

[~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:
>             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

View raw message