Hi

You are using java so you can use the powers of java and for example
have a method that returns the Endpoint instance, and then have one
implementation for DEV and another for PROD.
And they can build this instance using endpoint-dsl or uri string or whatever.

You can also use dependency injection and have 2 different classes
that builds the endpoint and then if you package/builder your app with
some filtering (like spring boot profiles) then it can pick either
classes accordingly.


On Thu, Apr 23, 2020 at 10:06 AM Mikael Andersson Wigander
<mikael.grevs...@gmail.com> wrote:
>
> Hi
>
> How can I combine the endpoint DSL with dynamic property definitions such as:
>
> final String toStr = "{{shuttle.ftp.outgoing.url}}" +
>     "&username={{shuttle.ftp.username}}" +
>     "&password={{shuttle.ftp.password}}" +
>     "&allowNullBody=false" +
>     "&consumer.bridgeErrorHandler=true" +
>     "&throwExceptionOnConnectFailed=true" +
>     "&pollStrategy=#defaultPollStrategy";
>
> from("{{shuttle.outgoing.transactions}}")
>     .routeId("Sending-SHUTTLE-FTP")
>     .autoStartup("{{shuttle.ftp.outgoing.startup}}")
>     .wireTap("seda:ping")
>     .to(toStr)
>     .log("XML file(s) sent")
>     .end();
>
>
> What I’d like is to have the option to have our DEV environment setup using 
> say FTP but in INTEGRATION and PROD it will be SFTP. Since the endpointDSL is 
> somewhat “hardcoding” the endpoint I don’t really know how to do it
>
> Thx
>
> M



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to