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