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

Reply via email to