camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Paransky <ap...@standardset.com>
Subject Re: Camel 2.11.1 - SedaComponent issues with Queue size
Date Fri, 30 Aug 2013 06:26:48 GMT
Looks like the values being compared are Objects, but != is being used
instead of !equals method.  Since you have the src try the fix.
On Aug 29, 2013 11:21 PM, "vcheruvu" <v_cheruvu@hotmail.com> wrote:

>
> Hi ,
>
> I am getting strange error with queue when our applications write objects
> to
> VM queue.  Occasionally I am seeing below error.  It is strange that we can
> clearly see in the error message below that queue size value match. Any
> idea
> why it is failing?
>
>
>
> Caused by: java.lang.IllegalArgumentException: Cannot use existing queue
> vm://FixTransform-BARX-Queue as the existing queue size 500000 does not
> match given queue size 500000
>         at
>
> org.apache.camel.component.seda.SedaComponent.getOrCreateQueue(SedaComponent.java:76)
>         at
>
> org.apache.camel.component.seda.SedaEndpoint.getQueue(SedaEndpoint.java:122)
>         at
> org.apache.camel.component.seda.SedaEndpoint.doStart(SedaEndpoint.java:401)
>         at
> org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
>         at
>
> org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:1819)
>         at
>
> org.apache.camel.impl.DefaultCamelContext.doAddService(DefaultCamelContext.java:960)
>         at
>
> org.apache.camel.impl.DefaultCamelContext.addService(DefaultCamelContext.java:921)
>         at
>
> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:505)
>         ... 56 more
>
>
>
> Below is the code snippet that throws IllegalArgumentException when
> comparing queue size. I do not  understand how queue size do not match for
> below conditional statement when 500000 is equal to 500000 in the above
> statement.  Is there some kind of data corruption here that some threads do
> not get correct value for ref.getSize()?
>
>
> SedaComponent.java
>
> ...
>  if (size != null && ref.getSize() != size) {
>                 // there is already a queue, so make sure the size matches
>                 throw new IllegalArgumentException("Cannot use existing
> queue " + key + " as the existing queue size "
>                         + (ref.getSize() != null ? ref.getSize() :
> Integer.MAX_VALUE) + " does not match given queue size " + size);
>             }
> ....
>
>
>
>
>
> VM component name used in our application
>
>
> "vm:FixTransform-BARX-Queue?size=500000&timeout=1000000&concurrentConsumers=5"
>
> Kind regards,
> -Vid-
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Camel-2-11-1-SedaComponent-issues-with-Queue-size-tp5738258.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message