Hi Try looking at the chapter 1 of the Camel in Action book which has a file copy example http://www.manning.com/ibsen
And make sure you can run it from Eclipse with no issues. Bottom line is to get the simple things working first, and then add to it. On Mon, Apr 19, 2010 at 6:37 PM, Kevin Fightmaster <kfightmas...@gmail.com> wrote: > > I'm trying to get a simple example up in working with files: > > ContextFile 1 > <?xml version="1.0" encoding="UTF-8"?> > <beans xmlns="http://www.springframework.org/schema/beans" > xmlns:context="http://www.springframework.org/schema/context" > xmlns:camel="http://camel.apache.org/schema/spring" > xmlns:broker="http://activemq.apache.org/schema/core" > 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-2.5.xsd > http://www.springframework.org/schema/context > http://www.springframework.org/schema/context/spring-context-2.5.xsd > http://camel.apache.org/schema/spring > http://camel.apache.org/schema/spring/camel-spring.xsd > http://activemq.apache.org/schema/core > http://activemq.apache.org/schema/core/activemq-core.xsd"> > <context:component-scan base-package="com.ngc.iaep.services" /> > <!-- CAMEL CONTEXT DECLARATION --> > <camel:camelContext id="camel"> > <camel:jmxAgent id="agent" createConnector="true" /> > </camel:camelContext> > <!-- EMBEDDED ACTIVEMQ PROCESS --> > <broker:broker useJmx="false" persistent="false" brokerName="localhost"> > <broker:transportConnectors> > <broker:transportConnector name="tcp" uri="tcp://localhost:61610" /> > </broker:transportConnectors> > </broker:broker> > <!-- MESSAGE BEAN --> > <bean id="jms" > class="org.apache.activemq.camel.component.ActiveMQComponent"> > <property name="brokerURL" value="tcp://localhost:61610" /> > </bean> > </beans> > > > > Context File 2 > <?xml version="1.0" encoding="UTF-8"?> > <beans:beans xmlns:beans="http://www.springframework.org/schema/beans" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns="http://camel.apache.org/schema/spring" > xmlns:context="http://www.springframework.org/schema/context" > xsi:schemaLocation=" > http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans-2.5.xsd > http://camel.apache.org/schema/spring > http://camel.apache.org/schema/spring/camel-spring.xsd"> > <!-- CAMEL CONTEXT --> > <camelContext id="camel"> > <!-- ROUTES --> > <route> > <from uri="jms:queue:twittersearch" /> > <to uri="bean:twittercollector" /> > </route> > <!-- route> > <from uri="jms:queue:twittertransformation" /> > <to uri="xslt:twitter.xsl"/> > <to uri="jms:queue:documenthandler"/> > </route --> > <route> > <from uri="file://project_feedoutput/?recursive=true&delete=true"/> > <!-- to uri="xslt:twitter.xsl"/ --> > <to uri="file://project_transformed/"/> > </route> > </camelContext> > </beans:beans> > > > I execute the test within eclipse using the following commands (which works > on other tests I've run) > camel:run > > My maven pom has the plugin defined as: > ... > <build> > <plugins> > <plugin> > <groupId>org.apache.camel</groupId> > <artifactId>camel-maven-plugin</artifactId> > <version>2.2.0</version> > <configuration> > > <fileApplicationContextUri>classpath*:*consumer.xml;classpath*:camelroutes.xml</fileApplicationContextUri> > </configuration> > </plugin> > </plugins> > </build> > ... > > > > > I get the following Exception: > > ERROR [Camel thread 0: FileComponent] (Logger.java:248) - Failed delivery > for exchangeId: 56e483d4-e2a4-4ebf-b21a-fa554c9ade74. Exhausted after > delivery attempt: 1 caught: > org.apache.camel.component.file.GenericFileOperationFailedException: Cannot > store file: project_transformed\twitter_results.xml > org.apache.camel.component.file.GenericFileOperationFailedException: Cannot > store file: project_transformed\twitter_results.xml > at > org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:211) > at > org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:195) > at > org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:126) > at > org.apache.camel.component.file.GenericFileProducer.process(GenericFileProducer.java:57) > at > org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97) > at > org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95) > at > org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146) > at > org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94) > at > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82) > at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) > at > org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53) > at > org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82) > at > org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93) > at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) > at > org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177) > at > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143) > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88) > at > org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49) > at > org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228) > at > org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:66) > at > org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48) > at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) > at > org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:258) > at > org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:137) > at > org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:103) > at > org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:106) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at > java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:619) > Caused by: org.apache.camel.InvalidPayloadException: No body available of > type: java.io.InputStream but has value: GenericFile[twitter_results.xml] of > type: org.apache.camel.component.file.GenericFile on: Message: > GenericFile[twitter_results.xml]. Caused by: No type converter available to > convert from type: org.apache.camel.component.file.GenericFile to the > required type: java.io.InputStream with value > GenericFile[twitter_results.xml]. Exchange[Message: > GenericFile[twitter_results.xml]]. Caused by: > [org.apache.camel.NoTypeConversionAvailableException - No type converter > available to convert from type: org.apache.camel.component.file.GenericFile > to the required type: java.io.InputStream with value > GenericFile[twitter_results.xml]] > at > org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:103) > at > org.apache.camel.util.ExchangeHelper.getMandatoryInBody(ExchangeHelper.java:116) > at > org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:203) > ... 34 more > Caused by: org.apache.camel.NoTypeConversionAvailableException: No type > converter available to convert from type: > org.apache.camel.component.file.GenericFile to the required type: > java.io.InputStream with value GenericFile[twitter_results.xml] > at > org.apache.camel.impl.converter.DefaultTypeConverter.mandatoryConvertTo(DefaultTypeConverter.java:123) > at > org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:101) > ... 36 more > ERROR [Camel thread 0: FileComponent] (Logger.java:248) - Caused by: > [org.apache.camel.component.file.GenericFileOperationFailedException - > Cannot store file: project_transformed\twitter_results.xml] > org.apache.camel.component.file.GenericFileOperationFailedException: Cannot > store file: project_transformed\twitter_results.xml > at > org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:211) > at > org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:195) > at > org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:126) > at > org.apache.camel.component.file.GenericFileProducer.process(GenericFileProducer.java:57) > at > org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97) > at > org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95) > at > org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146) > at > org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94) > at > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82) > at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) > at > org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53) > at > org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82) > at > org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93) > at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) > at > org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177) > at > org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143) > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88) > at > org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49) > at > org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228) > at > org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:66) > at > org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48) > at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67) > at > org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:258) > at > org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:137) > at > org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:103) > at > org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:106) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at > java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:619) > Caused by: org.apache.camel.InvalidPayloadException: No body available of > type: java.io.InputStream but has value: GenericFile[twitter_results.xml] of > type: org.apache.camel.component.file.GenericFile on: Message: > GenericFile[twitter_results.xml]. Caused by: No type converter available to > convert from type: org.apache.camel.component.file.GenericFile to the > required type: java.io.InputStream with value > GenericFile[twitter_results.xml]. Exchange[Message: > GenericFile[twitter_results.xml]]. Caused by: > [org.apache.camel.NoTypeConversionAvailableException - No type converter > available to convert from type: org.apache.camel.component.file.GenericFile > to the required type: java.io.InputStream with value > GenericFile[twitter_results.xml]] > at > org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:103) > at > org.apache.camel.util.ExchangeHelper.getMandatoryInBody(ExchangeHelper.java:116) > at > org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:203) > ... 34 more > Caused by: org.apache.camel.NoTypeConversionAvailableException: No type > converter available to convert from type: > org.apache.camel.component.file.GenericFile to the required type: > java.io.InputStream with value GenericFile[twitter_results.xml] > at > org.apache.camel.impl.converter.DefaultTypeConverter.mandatoryConvertTo(DefaultTypeConverter.java:123) > at > org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:101) > ... 36 more > -- > View this message in context: > http://old.nabble.com/Cant-copy-file-from-one-directory-to-another-within-camel-activemq-spring-tp28287709p28287709.html > Sent from the Camel - Users mailing list archive at Nabble.com. > > -- Claus Ibsen Apache Camel Committer Author of Camel in Action: http://www.manning.com/ibsen/ Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus