You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Andrew Doumaux (JIRA)" <ji...@apache.org> on 2018/06/15 19:01:00 UTC

[jira] [Created] (CAMEL-12584) Allow sede producers to offer data to the queue with timeout

Andrew Doumaux created CAMEL-12584:
--------------------------------------

             Summary: Allow sede producers to offer data to the queue with timeout
                 Key: CAMEL-12584
                 URL: https://issues.apache.org/jira/browse/CAMEL-12584
             Project: Camel
          Issue Type: Improvement
          Components: camel-core
    Affects Versions: 2.21.0
            Reporter: Andrew Doumaux


The seda producer only allows:
 * adding with possible exception if queue is full
 * blocking until space is available

I'd like to suggest a third option for seda where a configured timeout can be added to the block case.  Utilizing the .offer(timeout) method of the underlining java queue

Use Case:

I have a Apache NiFi system doing rest posts to my Apache Camel system.  The camel system attempt to put the received message onto a seda queue which is backed by a SynchronousQueue.  This causes an exception to occur if no threads are available to do the work requested, returns a service temporarily unavailable status to NiFi and Nifi pauses it's rest posts for a short delay. 

I'd be able to save on some network traffic I/O if I was able to say try and wait 100ms before giving up on putting the data on the queue.

 

Concept of adding the "offer/timeout" was suggested in comments of CAMEL-1962



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)