camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <>
Subject Re: [HEADS UP] - TypeConverter improved in Camel 2.10
Date Wed, 18 Apr 2012 16:41:06 GMT

Okay I found a little time, trying to do the backport. There is 3
commits in total.

On Tue, Apr 17, 2012 at 7:46 AM, Claus Ibsen <> 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
> 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:
> FuseSource
> Email:
> Web:
> Twitter: davsclaus, fusenews
> Blog:
> Author of Camel in Action:

Claus Ibsen
CamelOne 2012 Conference, May 15-16, 2012:
Twitter: davsclaus, fusenews
Author of Camel in Action:

View raw message