Hi

You are building your own codecs it seems and they are in control of when a
message is fully complete or not.

The CiA2 book has an example with custom netty codec.
And you usually need both an encoder and decoder.



On Tue, May 23, 2023 at 9:05 AM Rohan Emmanuel <rohan.emmanue...@gmail.com>
wrote:

> hi,
> I am using Camel netty tcp producer to send messages to a server listening
> on TCP port.
>
> my route looks like this:
> <to uri="netty:tcp://
>
> 127.0.0.1:2944?requestTimeout=30000&amp;decoderMaxLineLength=4048&amp;synchronous=true&amp;sync=true&amp;allowDefaultCodec=false&amp;decoders=#gwaymessageDecoder
> "/>
>                     <process
> ref="api.gway.tcp_endpoint.delete.resp.processor"/>
>
> The server is responding with a message which was received by the TCP
> component.  this I can see in the TRACE log as below.
>
>  Thread #1 -
>
> NettyClientTCPWorker];1;DEBUG;org.apache.camel.component.netty.NettyProducer;Channel:
> [id: 0xd25ccb0d, L:/127.0.0.1:52474 - R:127.0.0.1/127.0.0.1:2944] received
> body: java.nio.HeapByteBuffer[pos=0 lim=36 cap=36]
>
>
> But still, the camel exception of no response received from the remote
> server is thrown and the route processing is stopped.
> am I missing something? not able to find much info in the documentation.
> any pointers would be helpful.
>
>
>
> RouteId              ProcessorId          Processor
>                                                Elapsed (ms)
> [tcp_endpoint-delet] [tcp_endpoint-delet]
>
> [from[servlet:/org/deleting?httpMethodRestrict=DELETE%2COPTIONS&optionsEnabled=]
> [      4192]
> ...[tcp_endpoint-delet] [process8          ]
> [ref:api.gway.tcp_endpoint.delete.resp.processor
>    ] [         0]
>
> Stacktrace
>
> ---------------------------------------------------------------------------------------------------------------------------------------
>
> org.apache.camel.CamelExchangeException: No response received from remote
> server: 127.0.0.1:2944. Exchange[AEC764CF26D0E12-0000000000000000]
> at
>
> org.apache.camel.component.netty.handlers.ClientChannelHandler.channelInactive(ClientChannelHandler.java:133)
> ~[camel-netty-3.7.0.jar:3.7.0]
> at
>
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:262)
> ~[netty-transport-4.1.55.Final.jar:4.1.55.Final]
> at
>
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:248)
> ~[netty-transport-4.1.55.Final.jar:4.1.55.Final]
> at
>
> io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:241)
> ~[netty-transport-4.1.55.Final.jar:4.1.55.Final]
> at
>
> io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:389)
> ~[netty-codec-4.1.55.Final.jar:4.1.55.Final]
> at
>
> io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:354)
> ~[netty-codec-4.1.55.Final.jar:4.1.55.Final]
> at
>
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:262)
> ~[netty-transport-4.1.55.Final.jar:4.1.55.Final]
> at
>
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:248)
> ~[netty-transport-4.1.55.Final.jar:4.1.55.Final]
> at
>
> io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:241)
> ~[netty-transport-4.1.55.Final.jar:4.1.55.Final]
> at
>
> io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1405)
> ~[netty-transport-4.1.55.Final.jar:4.1.55.Final]
> at
>
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:262)
> ~[netty-transport-4.1.55.Final.jar:4.1.55.Final]
> at
>
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:248)
> ~[netty-transport-4.1.55.Final.jar:4.1.55.Final]
> at
>
> io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:901)
> ~[netty-transport-4.1.55.Final.jar:4.1.55.Final]
> at
>
> io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:819)
> ~[netty-transport-4.1.55.Final.jar:4.1.55.Final]
> at
>
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
> ~[netty-common-4.1.55.Final.jar:4.1.55.Final]
>
>
> --
> Regards,
> Rohan Emmanuel
>


-- 
Claus Ibsen
-----------------
@davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to