Hello everyone,

I've got a situation where I encounter an exception from the netty producer
when it gets used right after Camel has started up.
This happens once and once only, afterwards everything is fine. The
exception I am getting is:

2010-12-12 00:59:15,856 14232 INFO  [main]
[org.apache.camel.impl.DefaultCamelContext] (main:) Apache Camel 2.5.0
(CamelContext: camel) started in 6.282 seconds
2010-12-12 00:59:15,861 14237 INFO  [main]
[org.springframework.web.context.ContextLoader] (main:) Root
WebApplicationContext: initialization completed in 14235 ms
2010-12-12 01:00:12,596 70972 WARN  [New I/O server worker #2-1]
[org.apache.camel.component.netty.handlers.ServerChannelHandler] (New I/O
server worker #2-1:) Closing channel as an exception was thrown from N
etty
java.io.IOException: Broken pipe
        at sun.nio.ch.FileDispatcher.write0(Native Method)[:1.6.0_21]
        at
sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29)[:1.6.0_21]
        at
sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:100)[:1.6.0_21]
        at sun.nio.ch.IOUtil.write(IOUtil.java:56)[:1.6.0_21]
        at
sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334)[:1.6.0_21]
        at
org.jboss.netty.channel.socket.nio.SocketSendBufferPool$PooledSendBuffer.transferTo(SocketSendBufferPool.java:243)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.channel.socket.nio.NioWorker.write0(NioWorker.java:470)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.channel.socket.nio.NioWorker.writeFromUserCode(NioWorker.java:388)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:137)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:76)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.channel.Channels.write(Channels.java:632)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:70)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.channel.Channels.write(Channels.java:611)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.channel.Channels.write(Channels.java:578)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:259)[netty-3.2.2.Final.jar:]
        at
org.apache.camel.component.netty.NettyHelper.writeBodySync(NettyHelper.java:95)[camel-netty-2.5.0.jar:2.5.0]
        at
org.apache.camel.component.netty.handlers.ServerChannelHandler.sendResponse(ServerChannelHandler.java:147)[camel-netty-2.5.0.jar:2.5.0]
        at
org.apache.camel.component.netty.handlers.ServerChannelHandler.messageReceived(ServerChannelHandler.java:104)[camel-netty-2.5.0.jar:2.5.0]
        at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:76)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:317)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:299)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)[netty-3.2.2.Final.jar:]
       at
org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:350)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)[netty-3.2.2.Final.jar:]
       at
org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)[netty-3.2.2.Final.jar:]
        at
org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)[netty-3.2.2.Final.jar:]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_21]
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_21]
        at java.lang.Thread.run(Thread.java:619)[:1.6.0_21]


2010-12-12 01:00:12,625 71001 WARN  [New I/O server worker #2-1]
[org.apache.camel.component.netty.NettyHelper] (New I/O server worker #2-1:)
Cannot write body: 0^@ using channel: [id: 0x7821f270, /172.17.0.11
:49767 :> /10.3.3.25:5156]


My netty configuration and route setup

   <!-- Netty Producer Setup -->

<bean id="nullDelimiter" class=
"org.jboss.netty.handler.codec.frame.Delimiters"

 factory-method="nulDelimiter" />

<bean id="stringencoder" class=
"org.jboss.netty.handler.codec.string.StringEncoder" />

<util:list id="decoders" list-class="java.util.LinkedList">

 <bean id="delim-decoder"

 class="org.jboss.netty.handler.codec.frame.DelimiterBasedFrameDecoder">

 <constructor-arg value="10240" />

 <constructor-arg ref="nullDelimiter" />

 </bean>

 <bean class="org.jboss.netty.handler.codec.string.StringDecoder" />

</util:list>

   <route>

 <from

  uri="netty:tcp://
0.0.0.0:5155?decoders=#decoders&amp;encoders=#stringencoder" />

 <wireTap uri="bean:partnerRoute" />

 <transform>

  <constant>0</constant>

 </transform>

 </route>

 <route>

 <from

  uri="netty:tcp://
0.0.0.0:5156?textline=true&amp;delimiter=NULL&amp;encoding=UTF8" />

 <wireTap uri="bean:partnerRoute" />

 <transform>

  <constant>0</constant>

 </transform>

 </route>



Is this something that is at my end, or have I hit a bug?


Thanks,

Yiannis

Reply via email to