Hi I'm trying to setup some routes to handle an import from different csv files to a database. First I defined a single route for each file but I thought it should be easier and be more flexible when I try to split everything up to have some routes which can be used for different files.
Here are the routes I defined till now. That are not all routes. At the moment I just setup up two routes to see how it works. CsvDataFormat csv = new CsvDataFormat(); csv.setDelimiter(";"); from("file://data?doneFileName=${file:name}.done").noAutoStartup() .choice() .when(header("CamelFileNameOnly").isEqualTo("import_organization.csv")) .to("direct:csv_organization_in") .when(header("CamelFileNameOnly").isEqualTo("import_user.csv")) .to("direct:csv_user_in") .endChoice().setId("route_pickup_file"); from("direct:csv_organization_in").noAutoStartup().unmarshal(csv) .bean(msdOrganizationConverter, "convert") .to(YsuraImportRouteBuilder.ENDPOINT_DIRECT_IMPORT_YSURA_OBJECTS_IN_DB).setId("route_import_organization"); When I start up the routes I got following exception: java.lang.ClassCastException: org.apache.camel.model.RouteDefinition cannot be cast to org.apache.camel.model.ChoiceDefinition at org.apache.camel.model.ProcessorDefinition.endChoice(ProcessorDefinition.java:1237) ~[camel-core-2.10.2.jar:2.10.2] at com.isarsoftware.ysura.model.integration.msd.MsdImportRouteBuilder.configure(MsdImportRouteBuilder.java:50) ~[ysura-integration-0.0.1.jar:na] .... I've also tried to append a .end() to each of the choices, but then I got an error on the second when(): The method when(Predicate) is undefined for the type ProcessorDefinition<capture#1-of ? > Any ideas what I'm doing wrong? Best Regards, Florian -- View this message in context: http://camel.465427.n5.nabble.com/CastException-error-when-using-choice-in-a-route-tp5723125.html Sent from the Camel - Users mailing list archive at Nabble.com.