+1 Best, Christian
On Fri, Apr 20, 2012 at 12:24 PM, Claus Ibsen <claus.ib...@gmail.com> wrote: > 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/ >