On Wed, Apr 18, 2012 at 7:23 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> On Wed, Apr 18, 2012 at 6:41 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>> Hi
>>
>> Okay I found a little time, trying to do the backport. There is 3
>> commits in total.
>>
>
> Okay backported to 2.9 branch.
>

I would like to backport to the 2.8 branch as well, so it can make it
into the next 2.8 release.


> Bengt you are of course welcome to test the 2.9.3-SNAPSHOT on your end
> if it fixed the issue onwards.
>
>
>>
>> On Tue, Apr 17, 2012 at 7:46 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>>> Hi
>>>
>>> Recently I have spent some time to improve the type converters in Camel 
>>> 2.10.
>>>
>>> Most significant is the following changes
>>> a) fix important bug
>>> b) Fail fast
>>> c) tryConvertTo
>>> d) Expose utilization statistics
>>>
>>>
>>> Ad a)
>>> A bug was reported in https://issues.apache.org/jira/browse/CAMEL-5164
>>>
>>> In summary if using camel-jaxb that offers a fallback type converter,
>>> and a failure occurs during XML marshalling,
>>> then subsequent new XML messages may fail, despite they were okay.
>>>
>>> Ad b)
>>> Due to a we need to detect this faster and better. So now the type
>>> converter system in Camel will fail fast
>>> by throwing a new TypeConversionException (its runtime). That allows
>>> Camel to detect the (a) failure faster
>>> from a fallback type converter (regular non fallback would fail fast 
>>> already)
>>>
>>> This means the API is also consistent from caller point of view. You
>>> get a TypeConversionException if there
>>> was a failure during a type conversion attempt.
>>>
>>> Ad c)
>>> There is some places in camel-core where we want to only try to
>>> convert. For example with the binary predicates
>>> where you want to compare if X > Y. Then we try to coerce X and Y to
>>> numeric values.
>>>
>>> Likewise there is a few other spots where we do this, such as the XSLT
>>> component, where we try to use StAX, SAX, before DOM etc.
>>> So we have introduced a tryConvertTo API, which would not fail during
>>> type conversion.
>>>
>>> Ad d)
>>> The type converter system is used a lot in Camel during routing
>>> messages. Now we expose utilization statistics,
>>> which allow end users to spot if there is too many missing type
>>> conversion attempts. For example a route may attempt to convert, where
>>> there is no suitable type converter. This can now more easily be
>>> spotted, allowing the end user to either. Implement such a missing
>>> type converter, or
>>> correct a mistake in his application or the likes.
>>>
>>> The statistics is exposed in JMX and as well when Camel shutdown as a log 
>>> line.
>>>
>>>
>>>
>>>
>>> On another note I am also hunting down to avoid using the
>>> PropertiesEditorTypeConverter, as it has many flaws
>>> - its not thread safe
>>> - its slow
>>> - and 3rd party projects can add property editors that influence
>>> Camel's type converts (eg ActiveMQ has a String -> List) properties
>>> editor that turns a String into a List of ActiveMQDestination
>>> instances.
>>> - it does not understand generics in List/Collection type, eg the
>>> ActiveMQ example above
>>>
>>> And basically we uses it only in Camel for doing some of the simpler
>>> basic conversions: String <-> Numeric. And so forth. But over the time
>>> we have added those as type converter directly in Camel, as they are
>>> faster as well.
>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> -----------------
>>> CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com
>>> FuseSource
>>> Email: cib...@fusesource.com
>>> Web: http://fusesource.com
>>> Twitter: davsclaus, fusenews
>>> Blog: http://davsclaus.blogspot.com/
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com
>> FuseSource
>> Email: cib...@fusesource.com
>> Web: http://fusesource.com
>> Twitter: davsclaus, fusenews
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>
>
>
> --
> Claus Ibsen
> -----------------
> CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com
> FuseSource
> Email: cib...@fusesource.com
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/



-- 
Claus Ibsen
-----------------
CamelOne 2012 Conference, May 15-16, 2012: http://camelone.com
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to