camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Walzer, Thomas" <>
Subject Re: HL7/netty4/BodyType: io.netty.buffer.UnpooledUnsafeDirectByteBuf
Date Sun, 24 Jan 2016 10:13:31 GMT
I am using Camel 2.15.2 & blueprint.
When using to uri=„log:…“ (Log component) it shows the body-type as unpooledunsafedirectbytebuf.
This statement works ok. And yes, it should contain the ack response.
When using <log message=„*** ${body} ***“/> (or anything else that needs a string,
like convertbodytostring, etc) I get exceptions.
Even when the first statement after netty4 is to-file it does not work. So there should be
no one consuming it before.
The codecs are default.

<bean id="hl7nettydecoder" class="org.apache.camel.component.hl7.HL7MLLPNettyDecoderFactory">
<bean id="hl7nettyencoder" class="org.apache.camel.component.hl7.HL7MLLPNettyEncoderFactory">

I will continue to strip my complex project down.

Cheers, Thomas.

Am 22.01.2016 um 16:04 schrieb Claus Ibsen <<>>:

On Fri, Jan 22, 2016 at 3:58 PM, Walzer, Thomas
<<>> wrote:
Problem is: I have a simple example that works fine. My more elaborate version breaks. But
basically it is:

The netty4 listening to my message gets the message and returns an ack. When I try to get
it as a string—>it breaks.
I do have a DefaultErrorhandler configured. But it should not kick in if everything works

Just to be clear. Its that last part


Where you attempt to log the netty4 response (eg the ack response) ?

Do you use any special codec or encoders with netty4 or something?
And what version of Camel do you use?

When I change the netty4 endpoint to mina2 -> it works. So I assume the problem lies with
the netty4 component. Maybe the codecs? Why do I not use mina2? Because ultimately I want
TLS which is broken with mina2 in my version of Camel.

It seems like some problem with redelivery as Claus suggested, however I am still puzzled…

Cheers, Thomas.

Am 22.01.2016 um 08:20 schrieb Claus Ibsen <<>>:

On Tue, Jan 19, 2016 at 4:54 PM, Walzer, Thomas
<<>> wrote:


I can successfully send to a HL7-Server, however I have troubles accessing the resulting ACK.
Unfortunately it is of type UnpooledUnsafeDirectByteBuf and type conversion to string fails:

....On delivery attempt: 2 caught: org.apache.camel.TypeConversionException: Error during
type conversion from type: java.lang.String to the required type: java.lang.String with value
UnpooledUnsafeDirectByteBuf(freed) due io.netty.util.IllegalReferenceCountException: refCnt:

Sounds like you are doing redelivery and the byte buf is not reset on
redelivery or something so the data stream becomes empty and not
convertable to a string type. A bit like when you are not using stream

Any ideas how to work with the ACK (besides logging which works)?

Cheers, Thomas.

Claus Ibsen
----------------- @davsclaus
Camel in Action 2:

Claus Ibsen
-----------------<> @davsclaus
Camel in Action 2:

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