Return-Path: X-Original-To: apmail-camel-issues-archive@minotaur.apache.org Delivered-To: apmail-camel-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A38D5177A6 for ; Mon, 13 Oct 2014 07:32:55 +0000 (UTC) Received: (qmail 57965 invoked by uid 500); 13 Oct 2014 07:32:33 -0000 Delivered-To: apmail-camel-issues-archive@camel.apache.org Received: (qmail 57916 invoked by uid 500); 13 Oct 2014 07:32:33 -0000 Mailing-List: contact issues-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list issues@camel.apache.org Received: (qmail 57832 invoked by uid 99); 13 Oct 2014 07:32:33 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Oct 2014 07:32:33 +0000 Date: Mon, 13 Oct 2014 07:32:33 +0000 (UTC) From: "Daniel (JIRA)" To: issues@camel.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (CAMEL-7905) New option to ignore missing consumers on direct endpoints MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CAMEL-7905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Daniel updated CAMEL-7905: -------------------------- Description: 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. I 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 sent 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. was: 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. I 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 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. > 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. > I 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 sent 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)