Done.

https://issues.apache.org/jira/browse/CAMEL-6302


On Mon, Apr 22, 2013 at 11:18 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:

> 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