Looks like there is new option offerTimeout which causes to ignore
blockWhenFull:
SedaProducer.java
log.trace("Adding Exchange to queue: {}", target);
if (blockWhenFull && offerTimeout == 0) {
try {
queue.put(target);
} catch (InterruptedException e) {
// ignore
log.debug("Put interrupted, are we stopping? {}", isStopping()
|| isStopped());
}
} else if (blockWhenFull && offerTimeout > 0) {
try {
offerTime = queue.offer(target, offerTimeout, TimeUnit.MILLISECONDS);
if (!offerTime) {
throw new IllegalStateException("Fails to insert element
into queue, "
+ "after timeout of" + offerTimeout + "milliseconds");
}
} catch (InterruptedException e) {
// ignore
log.debug("Offer interrupted, are we stopping? {}",
isStopping() || isStopped());
}
} else {
queue.add(target);
}
So if offerTimeout < 0 blockWhenFull is ignored. offerTimeout is not
documented?
Am Di., 11. Sep. 2018 um 09:15 Uhr schrieb Claus Ibsen-2 [via Camel]
<[email protected]>:
>
> Hi
>
> Can you double check your endpoint configurations as it sounds like
> that producer do not have blockWhenFull=true enabled.
>
> And what version of Camel do you use?
> On Tue, Sep 11, 2018 at 8:55 AM Dennis Holunder <[hidden email]> wrote:
>
> >
> > Hi,
> >
> > I have multiple seda queues in my route, all with blockWennFull=true
> > and limited size. In logs I can find the IllegalStateException:
> >
> > 08:33:04 [Camel (camel-1) thread #56 - seda://worker] ERROR deadletter
> > Exchange[ExchangePattern: InOnly, BodyType: com.Model,
> > CaughtExceptionType: java.lang.IllegalStateException,
> > CaughtExceptionMessage: Queue full, StackTrace:
> > java.lang.IllegalStateException: Queue full
> > at java.util.AbstractQueue.add(AbstractQueue.java:98)
> > at
> > org.apache.camel.component.seda.SedaProducer.addToQueue(SedaProducer.java:261)
> > at
> > org.apache.camel.component.seda.SedaProducer.process(SedaProducer.java:166)
> >
> > I'd expect that if queue is full nothing happens and all threads would
> > be just waiting. So why the exception is logged? Does seda component
> > internally ignore it or do I have to handle it in some way in my
> > route?
> >
> > Dan
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>
>
> ________________________________
> If you reply to this email, your message will be added to the discussion
> below:
> http://camel.465427.n5.nabble.com/seda-logs-Queue-full-Exception-tp5823076p5823078.html
> To unsubscribe from Camel, click here.
> NAML