I have a route which fetches data from databse,then call processor which
writes the data to a file using beanio.
Below is my code to do so.

<endpoint id="myBeanEndpoint"
                        
uri="bean:com.company.module.impl.MyDaoImpl?method=getByCode('67')" />

<endpoint id="myBeanEndpointTimer"
                        uri="timer://foo?fixedRate=true&amp;period=1000" />

<endpoint id="wiretapFolder"
                
uri="file://myFolderName?move=.Success&amp;moveFailed=.Error&amp;readLock=changed"
/>

<route id="myRoute" autoStartup="false" routePolicyRef="myStartPolicy">
                        <from ref="myBeanEndpointTimer" />
                        <to ref="myBeanEndpoint" />
                        <when>
                                <simple>${in.body.size} > 0</simple>
                                <split>
                                        <simple>${body}</simple>
                                        <process ref="fileWriteProcessor" />
                                        <wireTap ref="wiretapFolder" />
                                </split>
                        </when>
</route>

<bean id="myStartPolicy"
        class="org.apache.camel.routepolicy.quartz.CronScheduledRoutePolicy">
                <property name="routeStartTime" value="${routeStartTime}" />
                <property name="routeStopTime" value="${routeStopTime}" />
</bean>

<bean id="fileWriteProcessor"
                class="com.company.module.processor.FileWriteProcessor">
                <property name="streamMapping" 
value="classpath:myStreamMappingFileName"
/>
                <property name="streamName" value="myStreamName" />
</bean>

In processor FileWriteProcessor file writting is done as follows,

StreamFactory factory = StreamFactory.newInstance();
                        factory = StreamFactory.newInstance();
                        *factory.load(streamMapping.getInputStream());*

                        StringWriter writer = new StringWriter(1000);
                        BeanWriter beanwriter = 
factory.createWriter(streamName, writer);
                        beanwriter.write(myObject);

At line factory.load(streamMapping.getInputStream()); inconsistently i'm
getting below error:

at
org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1360)
        at
org.apache.camel.impl.DefaultExchange.setException(DefaultExchange.java:283)
        at
org.apache.camel.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:66)
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
        at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)
        at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
        at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)
        at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
        at
org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:573)
        at
org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:506)
        at
org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:215)
        at org.apache.camel.processor.Splitter.process(Splitter.java:98)
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
        at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)
        at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
        at
org.apache.camel.processor.FilterProcessor.process(FilterProcessor.java:58)
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
        at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)
        at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
        at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
        at
org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:139)
        at
org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:64)
        at java.util.TimerThread.mainLoop(Timer.java:555) [rt.jar:1.7.0_79]
        at java.util.TimerThread.run(Timer.java:505) [rt.jar:1.7.0_79]
Caused by: java.lang.NoClassDefFoundError: Could not initialize class
org.beanio.internal.util.TypeHandlerFactory
        at
org.beanio.internal.compiler.StreamCompiler.createStreamDefinitions(StreamCompiler.java:115)
        at
org.beanio.internal.compiler.StreamCompiler.loadMapping(StreamCompiler.java:84)
        at
org.beanio.internal.DefaultStreamFactory.load(DefaultStreamFactory.java:52)
        at org.beanio.StreamFactory.load(StreamFactory.java:275)
        at
com.evolvus.dds.achpaymentout.processor.ACH500WriteProcessor.process(ACH500WriteProcessor.java:110)
        at
org.apache.camel.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:63)
        ... 25 more

Camel version used:2.12.1
Beanio version used:2.0.7

Please suggest what might be causing this error and the possible solution.





--
View this message in context: 
http://camel.465427.n5.nabble.com/inconsistently-getting-org-apache-camel-CamelExecutionException-while-writting-file-with-beanio-tp5778892.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to