Hi, In Camel 2.0, there are some improvements in the camel-file component. You can specify the File name by using the File Language expression.
The route rule in camel 2.0 could be from("file://inbox?move=done/${file:name}").to("file://outputdir"); Please check out these wiki pages[1][2] for more information. [1] http://camel.apache.org/file2.html [2] http://camel.apache.org/file-language.html Willem lazyeye wrote: > This is my first use of camel so it could be something dumb I'm doing but > this works in version 1.6.1 but fails in 2.0-M1. Here's the pom file: > <project xmlns="http://maven.apache.org/POM/4.0.0" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd"> > <modelVersion>4.0.0</modelVersion> > <groupId>gov.calpers.play.camel</groupId> > <artifactId>camel-play</artifactId> > <packaging>jar</packaging> > <version>0.0.1-SNAPSHOT</version> > <name>camel-play</name> > <url>http://maven.apache.org</url> > <dependencies> > <dependency> > <groupId>junit</groupId> > <artifactId>junit</artifactId> > <version>3.8.1</version> > <scope>test</scope> > </dependency> > > > <dependency> > <groupId>org.apache.camel</groupId> > <artifactId>camel-core</artifactId> > <version>${camel-version}</version> > </dependency> > > </dependencies> > <properties> > <camel-version>2.0-M1</camel-version> > <!-- <camel-version>1.6.1</camel-version> --> > </properties> > </project> > > here's the java file: > package foo; > > import org.apache.camel.CamelContext; > import org.apache.camel.builder.RouteBuilder; > import org.apache.camel.impl.DefaultCamelContext; > > /** > * Hello world! > * > */ > public class App { > public static void main(String[] args) throws Exception { > > CamelContext camelContext = new DefaultCamelContext(); > > camelContext.addRoutes(new RouteBuilder() { > > public void configure() throws Exception { > > from("file://inbox?moveNamePrefix=done/").to("file://outputdir"); > } > }); > > camelContext.start(); > > } > } > > here's the stack trace: > Exception in thread "main" org.apache.camel.ResolveEndpointFailedException: > Failed to resolve endpoint: file://inbox?moveNamePrefix=done/ due to: > org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: > file://inbox?moveNamePrefix=done/ due to: There are 1 parameters that > couldn't be set on the endpoint. Check the uri if the parameters are spelt > correctly and that they are properties of the endpoint. Unknown > parameters=[{moveNamePrefix=done/}] > at > org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:378) > at > org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:52) > at > org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:133) > at > org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:103) > at > org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:109) > at > org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72) > at > org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:78) > at > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:302) > at > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:121) > at > org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:481) > at > org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:777) > at > org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:759) > at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:50) > at foo.App.main(App.java:23) > Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to > resolve endpoint: file://inbox?moveNamePrefix=done/ due to: There are 1 > parameters that couldn't be set on the endpoint. Check the uri if the > parameters are spelt correctly and that they are properties of the endpoint. > Unknown parameters=[{moveNamePrefix=done/}] > at > org.apache.camel.impl.DefaultComponent.validateParameters(DefaultComponent.java:115) > at > org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:93) > at > org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:359) > ... 13 more >