On Mon, Dec 3, 2012 at 10:44 AM, Christian Ohr <christian....@gmail.com> wrote:
> The HL7 Codec works on TCP messages, not UDP. On the other hand I
> don't think that the codec really depends on that.
> Note that HL7 messages have specific begin and end bytes that make it
> rather easy to cumulate the parts.
>

Ah yeah good point about the markers.



> Christian
>
> 2012/12/3 Claus Ibsen <claus.ib...@gmail.com>:
>> Hi
>>
>> The camel-hl7 component has a mina codec that works with hl7 message formats.
>> And I think there is some logic in there to "assemble" udp messages
>> that is larger than 2048.
>>
>> I remembered some patches we got years ago about something related to this.
>> Maybe take a peek in the camel-hl7 source code.
>>
>>
>>
>> On Tue, Nov 27, 2012 at 6:50 AM, Mikael Fernandus Simalango
>> <mika...@gmail.com> wrote:
>>> On Sat, Nov 24, 2012 at 5:29 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>>>>
>>>> So have you tried with setting auto expand = false in camel-mina2, and
>>>> see if that fixes the issue for you?
>>>>
>>>>
>>>
>>> Hi Claus,
>>>
>>> Thanks for your comment. I have conducted more tests to trace the root
>>> cause. Unfortunately, setting auto expand to false did not fix the
>>> problem because such flag is needed when dealing with unicode
>>> characters. I once tried to set it to false to only observe
>>> BufferOverflowException.
>>>
>>> When debugging, I found out that Mina2Consumer received the message
>>> n-times depending on the fragmentation (doDecode is called n-times) if
>>> a class extending CumulativeProtocolDecoder is used as the decoder in
>>> a custom codec. Yet, the content in each call is exactly the same,
>>> which is the first 2048 bytes of the message sent. As a remark,
>>> session.getTransportMetadata().hasFragmentation() is false, which was
>>> different with my expectation. Additionally, the call is only once
>>> when the received message is decoded using the default codec, i.e.
>>> Mina2UdpProtocolCodecFactory. In that call, only the first 2048 bytes
>>> are received.
>>>
>>> I come into a proposition that the problem can be caused by different
>>> session management mechanism in Camel Mina 2 compared with that of
>>> Camel Mina. Yet, I haven't been able to refine and isolate the exact
>>> part of the code causing such behavior. I'm not that familiar with the
>>> codebase and I'm not quite sure if it's a feature in the new
>>> component. I'd be glad for further clarification from others with more
>>> competency in this matter.
>>>
>>> Regards,
>>> Mike
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> Red Hat, Inc.
>> FuseSource is now part of Red Hat
>> Email: cib...@redhat.com
>> Web: http://fusesource.com
>> Twitter: davsclaus
>> Blog: http://davsclaus.com
>> Author of Camel in Action: http://www.manning.com/ibsen



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
FuseSource is now part of Red Hat
Email: cib...@redhat.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Reply via email to