I'd like to share my workaround in case anybody is interested (using Camel 2.11.0): I was successful with the following approach:
camelContext.stopRoute( "my-file-route", 30, SECONDS ); camelContext.removeRoute( "my-file-route" ); MyPollingRoutes newRoutes = new MyPollingRoutes( newPollDir ); camelContext.addRoutes( newRoutes ); MyPollingRoutes extends RouteBuilder and in configure() I do something like: from( "file://" + this.pollDir + "?antInclude=*.xml" ).routeId( "my-file-route" ) .to( ... ); This simply stops the existing route and replaces it with a new one (using a different path) during runtime. It is necessary to create and add a new instance of MyPollingRoutes instead of just changing the pollDir member, since Camel wouldn't call configure() again after re-adding it to the context.