I guess its due bindy is essentially 3 data formats https://github.com/apache/camel/blob/master/components/camel-bindy/pom.xml#L37
But I guess we should just add bindy there as well. On Sat, Nov 28, 2015 at 5:23 PM, Krzysztof Sobkowiak <[email protected]> wrote: > 2.16.1 > > On 28.11.2015 17:21, Claus Ibsen wrote: >> What version of Camel are you using? >> >> On Sat, Nov 28, 2015 at 5:06 PM, Krzysztof Sobkowiak >> <[email protected]> wrote: >>> Hi >>> >>> I have following route >>> >>> <route id="order-service-normalizer-route"> >>> <from uri="amq:incomingOrders"/> >>> <choice> >>> <when> >>> <simple>${header.CamelFileName} regex '^.*xml$'</simple> >>> <unmarshal> >>> <jaxb contextPath="org.sobkowiak.demos.order.common"/> >>> </unmarshal> >>> </when> >>> <when> >>> <simple>${header.CamelFileName} regex '^.*(csv|csl)$'</simple> >>> <unmarshal> >>> <bindy classType="org.sobkowiak.demos.order.common.Order" >>> type="Csv"/> >>> </unmarshal> >>> <convertBodyTo type="org.sobkowiak.demos.order.common.Order"/> >>> </when> >>> </choice> >>> <to uri="amq:orders"/> >>> </route> >>> >>> >>> I have installed camel-bindy feature under ServiceMix. While installing my >>> bundle my bundle remains in GracePeriod status and I can see following log >>> entry. >>> >>> 2015-11-28 16:58:57,480 | INFO | l for user karaf | BlueprintContainerImpl >>> | 15 - org.apache.aries.blueprint.core - 1.4.4 | Bundle >>> org.sobkowiak.demos.order-service-normalizer/1.0.0.SNAPSHOT is waiting for >>> dependencies >>> [(&(dataformat=bindy)(objectClass=org.apache.camel.spi.DataFormatResolver))] >>> >>> After changing to this form, it works for me >>> >>> >>> <dataFormats> >>> <bindy id="bindyDataFormat" >>> classType="org.sobkowiak.demos.order.common.Order" type="Csv"/> >>> </dataFormats> >>> >>> >>> <route id="order-service-normalizer-route"> >>> <from uri="amq:incomingOrders"/> >>> <choice> >>> <when> >>> <simple>${header.CamelFileName} regex '^.*xml$'</simple> >>> <unmarshal> >>> <jaxb contextPath="org.sobkowiak.demos.order.common"/> >>> </unmarshal> >>> </when> >>> <when> >>> <simple>${header.CamelFileName} regex >>> '^.*(csv|csl)$'</simple> >>> <unmarshal ref="bindyDataFormat"/>S >>> <!--<unmarshal> <bindy >>> classType="org.sobkowiak.demos.order.common.Order" type="Csv"/> >>> </unmarshal>--> <convertBodyTo >>> type="org.sobkowiak.demos.order.common.Order"/> >>> </when> >>> </choice> >>> <to uri="amq:orders"/> >>> </route> >>> </camelContext> >>> >>> >>> >>> >>> I think the second route works because I define the binding data format in >>> my blueprint file. In the first case not. Am I missing something? >>> >>> Regards >>> Krzysztof >>> >>> >>> >>> -- >>> Krzysztof Sobkowiak >>> >>> JEE & OSS Architect, Integration Architect >>> Apache Software Foundation Member (http://apache.org/) >>> Apache ServiceMix Committer & PMC Member (http://servicemix.apache.org/) >>> Senior Solution Architect @ Capgemini SSC (http://www.capgeminisoftware.pl/) >>> >>> >>> 33rd Degree 4charity (http://2015.33degree.org/) >> >> > > -- > Krzysztof Sobkowiak > > JEE & OSS Architect, Integration Architect > Apache Software Foundation Member (http://apache.org/) > Apache ServiceMix Committer & PMC Member (http://servicemix.apache.org/) > Senior Solution Architect @ Capgemini SSC (http://www.capgeminisoftware.pl/) > > > 33rd Degree 4charity (http://2015.33degree.org/) -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2
