user1826397
user1826397

Reputation: 31

java.io.NotSerializableException: org.apache.camel.component.file.GenericFile

I am trying to use a download logger that should log any kind of file transfer between two end points as defined below in camel-context.xml

        <process ref="downloadLogger"/>
        <to uri="file:src/main/resources/META-INF?noop=true"/>


        <!-- Prepare the message for calling OFBiz service -->
        <setHeader headerName="Ofbiz.ServiceName">
            <constant>DownLoadLogger</constant>
        </setHeader>
        <setHeader headerName="Ofbiz.Param.note">
            <simple>${in.body}</simple>
        </setHeader>

        <!-- Call the OFBiz service -->
        <camel:process ref="ofbizDispatcher"/>
    </camel:route>

But this gives rise to

java.io.NotSerializableException: org.apache.camel.component.file.GenericFile 
at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1196)[camel-core-2.9.0.jar:2.9.0]
at org.apache.camel.component.bean.BeanInvocation.invoke(BeanInvocation.java:87)[camel-core-2.9.0.jar:2.9.0]
at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:128)[camel-core-2.9.0.jar:2.9.0]
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)[camel-core-2.9.0.jar:2.9.0]
at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:73)[camel-core-2.9.0.jar:2.9.0]
at org.apache.camel.component.rmi.RmiProducer.process(RmiProducer.java:45)[camel-rmi-2.9.0.jar:2.9.0]

I am using jdk 1.6 camel 2.9 jar. Please suggest if I am missing any configuration any where.

Thanks in advance

Padmalaya

Upvotes: 3

Views: 1430

Answers (2)

Thomas Modeneis
Thomas Modeneis

Reputation: 697

I got this working after converting it to string, conversion to byte does not really work! :(

 .convertBodyTo(String.class)

Upvotes: 0

Amit Assudani
Amit Assudani

Reputation: 11

Use following between 'from uri' and 'to uri'

<convertBodyTo type="byte[]"/>

Upvotes: 1

Related Questions