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)

Reply via email to