camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Krzysztof Sobkowiak <krzys.sobkow...@gmail.com>
Subject Re: camel-bindy & OSGi
Date Sat, 28 Nov 2015 16:36:20 GMT
The same works in rider-auto-osgi https://github.com/FuseByExample/rider-auto-osgi/blob/jboss-fuse-6.2.1/rider-auto-normalizer/src/main/resources/OSGI-INF/blueprint/camel-context.xml.
But there is a TypeConverter registered https://github.com/FuseByExample/rider-auto-osgi/blob/jboss-fuse-6.2.1/rider-auto-normalizer/src/main/resources/META-INF/services/org/apache/camel/TypeConverter.
Perhaps I'm missing this? But I have no idea what should be the content od TypeConverter in
my case. I have no classes from  org.fusesource.camel.util


On 28.11.2015 17:32, Krzysztof Sobkowiak wrote:
> But the option type should select the correct one
>
> <bindy classType="org.sobkowiak.demos.order.common.Order" type="Csv"/>
>
> The 3 data formats exist from a long time. Do you think, the <bindy> element will
not work in OSGi?
>
>
> On 28.11.2015 17:26, Claus Ibsen wrote:
>> 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
>> <krzys.sobkowiak@gmail.com> 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
>>>> <krzys.sobkowiak@gmail.com> 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/)
>>

-- 
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/)

Mime
View raw message