May I have the ticket #? (so I can watch/follow) When you say, "use a java bean" - what do you mean?
Instantiate the FTP component like? FtpComponent comp = new FtpComponent(context); @SuppressWarnings("unchecked") FtpEndpoint<FTPFile> endpt = (FtpEndpoint<FTPFile>) comp.createEndpoint("ftp://localhost/download?localWorkDirectory=/tmp/local/data&noop=true&username=fred&password=secret"); final FtpConsumer cons = (FtpConsumer) endpt.createConsumer(new Processor() { @Override public void process(Exchange exchange) throws Exception { System.out.printf("%s\n", exchange.toString()); } }); cons.setStartScheduler(true); comp.start(); endpt.start(); cons.start(); On Tue, Apr 2, 2013 at 11:03 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: > Hi > > There is a ticket scheduled for Camel 3.0 to allow enrich and > pollEnrich to support "dynamic uris" like the recipient list can do. > > Though implementing this requires an API change and thus scheduled for 3.0. > > You can always use a java bean to consume from an dynamic computed > endpoint. For example using consumer template etc. > > For ftp endpoints you may want to set disconnect=true, to avoid having > the connection running for a longer period. > > > > > On Sun, Mar 31, 2013 at 10:08 PM, Chris Wolf <cwolf.a...@gmail.com> wrote: >> Claus, >> >> You addressed the issue of "dynamic URIs for Consumers" back in July-2009: >> >> http://camel.465427.n5.nabble.com/Dynamic-consumers-with-Camel-td476433.html >> >> However, all those use-cases, except for maybe #4, web console, which >> I can't run all are about >> calculating the URI *before* the context is started. What I'm looking >> for is a way to create and insert >> or update a polling consumer's URI - at runtime - *after* the context >> is started. >> >> For example: >> >> from("direct:start") >> .beanRef("config") >> .convertBodyTo(Document.class) >> .setHeader("Ftp_URI").xquery( >> "concat('ftp://'" +...some more xpaths into the >> inbound config doc...), String.class) >> .pollEnrich(/* whoops! this is referenced at route >> setup time, not route runtime... - it won't work */) >> .to("log:..."); >> >> So the question, more generally, is is it possible to alter the route >> definition - at runtime? i.e. after the route/context are started? >> >> You sorted of hinted at this in that July-2009 posting when you said: >> >> "2) You can always stop, modify and start a route in Camel at runtime." >> >> I don't see how that would work since I would likely be attempting to >> modify the route at runtime >> from a bean method in the route - or are you suggesting one route >> stops/modifies another route? >> >> So the way I see it is - I would create the ftp route with a bogus URI >> and option "&startScheduler=false", >> on the ftp endpoint, or autoStart=false on the route. Then in >> *another* route - the "configurer" route, >> I guess, access the ftp route and reconfigure the endpoint with the >> real settings, then start it's poll scheduler (or start it's route). >> >> Something like that? Any easier, more direct way? >> >> Thanks, >> >> >> Chris > > > > -- > Claus Ibsen > ----------------- > Red Hat, Inc. > FuseSource is now part of Red Hat > Email: cib...@redhat.com > Web: http://fusesource.com > Twitter: davsclaus > Blog: http://davsclaus.com > Author of Camel in Action: http://www.manning.com/ibsen