Hi

Thanks for the detailed reporting. I have created a ticket and is
working on a fix right now
https://issues.apache.org/activemq/browse/CAMEL-2088


On Tue, Oct 20, 2009 at 7:46 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> Hi
>
> Well spotted. Can you create a ticket in JIRA for it.
> So we can get it fixed in Camel 2.1.
>
> 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&amp;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
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to