Hi I have committed a fix. Would be cool if you could test it on your system.
You can build from the source or wait for a new SNAPSHOT being deployed http://camel.apache.org/download.html On Tue, Oct 20, 2009 at 6:43 PM, ndjensen <ndjen...@gmail.com> wrote: > > I'm upgrading to camel 2.0 and hit a snag with the type conversions that > didn't occur with camel 1.5. Basically I have a route like this: > > <route id="tasks"> > <from uri="timer://taskTimer?fixedRate=true&period=60000" /> > <bean ref="taskQueue" method="fireTask" /> > <bean ref="taskSrv" method="runTask" /> > </route> > > > The taskQueue's fireTask() will return null if there are no tasks in the > queue. That gets passed along to the taskSrv's runTask(String msg) method, > which instead of receiving null, it receives "Message: [Body is null]". > Since it tries to process all the strings it receives that are not null, it > fails. > > I traced into the camel code, and the ToStringTypeConverter.convertTo(Class, > Object) method is called and gets into value.toString(). The value is of > type DefaultMessage, which has a toString() method > > �...@override > public String toString() { > return MessageHelper.extractBodyForLogging(this); > } > > which returns the bad "Message: [Body is null]" message. I think > DefaultMessage should check for a null body and return null if the body > really is null. > > To get around this in all cases, I tried to add my own converter for > DefaultMessage to String, which is successfully detected but then not > called. The issue is that the ToStringTypeConverter had been promoted from > a fallback type converter to a regular typeconverter (see rev 793935), which > apparently was being found instead of my custom type converter. > > I've worked around this by putting a filter on this route that ensures the > message is not null, but you should be able to send a null to a method > expecting a string and receive a null. > > Also FYI, the links to camel 2.0 on the Download page don't work (I'm using > Firefox 3.5). > -- > View this message in context: > http://www.nabble.com/ToStringTypeConverter-and-null-message-bodies-tp25978515p25978515.html > Sent from the Camel - Users mailing list archive at Nabble.com. > > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus