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. >
Okay I have backported this to the 2.8 branch now. > >> 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/ -- 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/