Hi

Yeah udp should keep the data as byte[]. Fell free to log a JIRA and
work on a patch.
eg just change to use byte[] as that makes the most sense for UDP.

On Mon, Apr 22, 2013 at 11:16 AM, Thomas Termin <thomas.ter...@gmail.com> wrote:
> Hi,
>
> no I don't use ByteBuffer as body type. The easiest example what I did is
> to create the following route:
>     <from uri="mina:udp://localhost:2002?sync=false"/>
>     <to uri="mina:udp://localhost:2000?sync=false"/>
>
> Just route it from on port to another port on the same host. Nothing
> between it.
>
>
> The MinaUdpProtocolCodecFactory on the consumer side decodes it from an udp
> datagram to a byte[].
>
>     byte[] bytes = context.getTypeConverter().convertTo(byte[].class, in);
>
> On the provider side where it gets back to the wire it gets converted to a
> string:
>
>     String value = context.getTypeConverter().convertTo(String.class,
> message);
>
> and then set to the ByteBuffer with the given charset.
>
> The result is that the original datagram is not anymore valid. What I
> thought what would be right is, to not convert it to a String but leave it
> as a byte array and put it into the ByteBuffer.
>
> I know  of course that I can create an own codec. I do it currently to get
> the route work but I thought it would be not necessary to just route UDP
> datagramms.
>
> Cheers,
> Thomas
>
>
> On Fri, Apr 19, 2013 at 8:43 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>
>> Hi
>>
>> You can always create your own codec and use that.
>>
>> And do you really use ByteBuffer as the body type? That is a Mina type?
>>
>> What we can do is to check the type of the body. If its already a
>> ByteBuffer then use it as is.
>> Otherwise we can try converting to byte[] and String. Which we need to
>> create the ByteBuffer.
>>
>>
>>
>>
>>
>> On Thu, Apr 18, 2013 at 5:17 PM, Thomas Termin <thomas.ter...@gmail.com>
>> wrote:
>> > Hi Claus,
>> >
>> > yeah it is the camel-mina. Sorry.
>> >
>> > We could make this configurable within the camel uri. Something like
>> > encode=raw or whatever. Let me know if I should provide a fix/patch or
>> > whatever.
>> >
>> > Cheers,
>> > Thomas
>> >
>> >
>> > On Thu, Apr 18, 2013 at 3:29 PM, Claus Ibsen <claus.ib...@gmail.com>
>> wrote:
>> >
>> >> Hi
>> >>
>> >> Yeah it should probably be byte[] instead of a String.
>> >>
>> >> And I assume you refer to camel-mina ?
>> >>
>> >> On Thu, Apr 18, 2013 at 1:35 PM, Thomas Termin <thomas.ter...@gmail.com
>> >
>> >> wrote:
>> >> > Hello,
>> >> >
>> >> > is there a special reason, that the MinaUdpProtocolCodecFactory encode
>> >> > method always try to convert the message body to a string? Is there a
>> way
>> >> > to avoid the conversion to a String? I would need the falilback method
>> >> > which is a conversion to a ByteBuffer. It would be nice to have that
>> >> > configurable.
>> >> >
>> >> > String value = context.getTypeConverter().convertTo(String.class,
>> >> message);
>> >> > if (value != null) {
>> >> >   ByteBuffer answer =
>> >> > ByteBuffer.allocate(value.length()).setAutoExpand(false);
>> >> >   answer.putString(value, encoder);
>> >> >   return answer;
>> >> > }
>> >> >
>> >> > // failback to use a byte buffer converter
>> >> > return context.getTypeConverter().mandatoryConvertTo(ByteBuffer.class,
>> >> > message);
>> >> >
>> >> > Cheers,
>> >> > Thomas
>> >>
>> >>
>> >>
>> >> --
>> >> 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
>>



-- 
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