package com.github.signed.integration.camel; import java.util.HashMap; import org.apache.camel.CamelContext; import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.ProducerTemplate; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.file.remote.SftpComponent; import org.apache.camel.impl.DefaultCamelContext; public class SftpUpload { public static void main(String[] args) throws Exception { CamelContext context = new DefaultCamelContext(); context.addComponent("sftp", new SftpComponent(context)); context.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("direct:trigger-download") .to("http://scm:8081/nexus/content/repositories/releases/de/idos/operatingreserve/moccamote-application/1.3.0/moccamote-application-1.3.0.pom.sha1") .process(new Processor() { @Override public void process(Exchange exchange) throws Exception { System.out.println("processing"); } }) .to("sftp://jenkins@localhost/standalone?password=jenkins"); } }); context.addRoutes(directSystemOut()); context.start(); ProducerTemplate template = context.createProducerTemplate(); HashMap<String, Object> headers = new HashMap<String, Object>(); headers.put(Exchange.HTTP_URI, "http://scm:8081/nexus/content/repositories/releases/de/idos/operatingreserve/moccamote-application/1.3.0/moccamote-application-1.3.0.pom"); headers.put(Exchange.FILE_NAME, "the-file-name.pom"); template.sendBodyAndHeaders("direct:trigger-download", null, headers); Thread.sleep(100000); context.stop(); } private static RouteBuilder directSystemOut() { return new RouteBuilder() { @Override public void configure() throws Exception { from("direct:system-out").to("stream:out"); } }; } }