On Fri, Sep 21, 2012 at 6:27 PM, James Carman <[email protected]> wrote: > According to the documentation: > > "The values must be primitives or their counter objects (such as > Integer, Long, Character). The types, String, CharSequence, Date, > BigDecimal and BigInteger are all converted to their toString() > representation. All other types are dropped." > > So, it would seem that BigInteger should be toString()ed. However, in > the JmsBinding class, we see the following code: > > protected Object getValidJMSHeaderValue(String headerName, Object > headerValue) { > if (headerValue instanceof String) { > return headerValue; > } else if (headerValue instanceof Number) { > return headerValue; > } else if (headerValue instanceof Character) { > return headerValue; > } else if (headerValue instanceof CharSequence) { > return headerValue.toString(); > } else if (headerValue instanceof Boolean) { > return headerValue; > } else if (headerValue instanceof Date) { > return headerValue.toString(); > } > return null; > } > > Since BigInteger extends Number, it will merely return the instance > itself. Does this contradict the documentation? It looks like this > value will be used to call setObjectProperty() on the JMS message > later. >
Yes those 2 big should be explicit toString'ed. Fell free to create a JIRA ticket and a patch. > Thanks, > > James -- Claus Ibsen ----------------- Red Hat, Inc. FuseSource is now part of Red Hat Email: [email protected] Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen
