Yes, you found a workaround method by using the bean definition.
BTW, I already committed a patch in the trunk, please try it out when Camel 2.5.0 released.

Willem
On 9/15/10 8:16 PM, Marcel Jager wrote:
Ok, thank you.
I guess this will be fixed in 2.5, for now I use the following construction:

     <bean id="protobuf1"
class="org.apache.camel.dataformat.protobuf.ProtobufDataFormat">
         <property name="instanceClass"
value="org.apache.camel.dataformat.protobuf.generated.AddressBookProtos$Person"/>
     </bean>

     <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring";>
       <route>
         <from uri="direct:start"/>
         <unmarshal ref="protobuf1"/>
         <to uri="mock:result"/>
       </route>
     </camelContext>

Cheers,
Marcel Jager

On Tue, Sep 14, 2010 at 3:32 PM, Willem Jiang<willem.ji...@gmail.com>wrote:

Hi,

I just checked the schema of camel-spring, it's bug of Camel since Camel
2.3.0, I just logged a JIRA[1] for it and will commit a fix shortly.

[1]https://issues.apache.org/activemq/browse/CAMEL-3122

Willem


On 9/14/10 5:08 PM, Marcel Jager wrote:

Let me describe a step-by-step guide so you can recreate it.

Ok, I have constructed a small example using a freshly downloaded copy of
Camel 2.4.0.

I'am using the provided example protobuffer definition from the example:
addressbook.proto and run the protobuffer-compiler protoc to generate the
Java-files

After that created a spring-xml file in the META-INF/spring directory with
the following content:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans";
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
     xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
         http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd";>

<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring";>
   <route>
     <from uri="direct:start"/>
     <unmarshal>
       <protobuf

instanceClass="org.apache.camel.dataformat.protobuf.generated.AddressBookProtos$Person"
/>
     </unmarshal>
     <to uri="mock:result"/>
   </route>
</camelContext>

</beans>




Reply via email to