Hello,
I use a Netty endPoint to forward messages to a client. These messages come
from an another Netty endPoint.
After several forwarded messages, an error occurs on every forwarded
message:
DEBUG 2012-08-06 15:30:06,482 [New I/O worker #27]
org.apache.camel.component.netty.handlers.ClientChannelHandler - Closing
channel as an exception was thrown from Netty
java.lang.IllegalStateException: Queue full
at java.util.AbstractQueue.add(AbstractQueue.java:71)
at
java.util.concurrent.ArrayBlockingQueue.add(ArrayBlockingQueue.java:209)
at
org.apache.camel.impl.DefaultServicePool.release(DefaultServicePool.java:96)
at org.apache.camel.impl.ProducerCache$1.done(ProducerCache.java:304)
at
org.apache.camel.processor.SendProcessor$2$1.done(SendProcessor.java:125)
at
org.apache.camel.component.netty.handlers.ClientChannelHandler.messageReceived(ClientChannelHandler.java:162)
at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:423)
at
org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:538)
at
org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:437)
at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:91)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:373)
at
org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:247)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
DEBUG 2012-08-06 15:30:06,482 [New I/O worker #27]
org.apache.camel.processor.DefaultErrorHandler - Failed delivery for
(MessageId: ID-ERIS-50013-1344256595721-0-5651 on ExchangeId:
ID-ERIS-50013-1344256595721-0-5645). On delivery attempt: 0 caught:
java.lang.IllegalStateException: Queue full
It seems that this error occurs also here:
http://camel.465427.n5.nabble.com/Redelivery-failure-td5713347.html
Here is a snippet of the context:
<camel:camelContext id="celloIQContext"
xmlns="http://camel.apache.org/schema/spring">
<jmxAgent id="agent" createConnector="true"
mbeanObjectDomainName="com.marketip.drivexpert"/>
<camel:route id="celloIQin" >
<camel:from
uri="netty:tcp://localhost:6520?sync=true&encoders=#celloIQEncoder&decoders=#celloIQDecoder"
/>
<camel:threads poolSize="10" >
<camel:to uri="vm:ackMessage" />
</camel:threads>
</camel:route>
<camel:route id="ackFlow">
<camel:from uri="vm:ackMessage" />
<camel:transform>
<method ref="bytesToIcomingMessage" method="process"/>
</camel:transform>
<camel:process ref="ackReportComponent"/>
<camel:threads poolSize="10" >
<camel:to uri="vm:forward"/>
</camel:threads>
</camel:route>
<camel:route>
<camel:from uri="vm:forward"/>
<camel:to uri="bean:forwardComponent"/>
<camel:multicast>
<camel:choice>
<camel:when>
<camel:simple>${property[POINTER_FORWARD]} == true</camel:simple>
<camel:to
uri="netty:tcp://[address]:[port]?sync=false&encoders=#celloIQForwardEncoder&decoders=#celloIQDecoder"
/>
</camel:when>
</camel:choice>
<camel:to uri="vm:saveMessage"/>
</camel:multicast>
</camel:route>
<camel:route id="saveFlow">
<camel:from uri="vm:saveMessage"/>
<camel:to uri="bean:saveMessageComponent"/>
</camel:route>
</camel:camelContext>
What is wrong in my Camel Context?
Is it a bug in Camel?
I have upgraded Camel from 2.9.2 to 2.10.0, the error remains.
Thank you for help.
Regards.
Suray Philippe
--
View this message in context:
http://camel.465427.n5.nabble.com/Error-in-DefaultServicePool-on-Netty-Producer-Queue-is-full-tp5716882.html
Sent from the Camel - Users mailing list archive at Nabble.com.