0
我們有一個要求,我們需要將文件從源文件複製到目標文件(與源不同的系統)。我們需要使用apache駱駝。如何使用駱駝將文件從源文件複製到目標文件
我沒有找到如何指定目標目錄。你能幫
private void boot() throws Exception {
Main main = new Main();
main.addRouteBuilder(new RouteBuilder() {
String sourceDirectory = "D:\\vsinv-conf";
String server = "xxx-yyy-host:/var/log/index/";
String user = "admin";
String password = "password";
public void configure() {
from("timer:loadingApplicationList?repeatCount=1").routeId("loadApplicationList").to("direct:start");
from("direct:start").from("file://" + sourceDirectory).to("scp://" + server + "?username=" + user
+ "&password=" + password + "&useUserKnownHostsFile=false");
}
});
main.run();
}
給予以下異常
java.lang.NullPointerException
at com.jcraft.jsch.Util.checkTilde(Util.java:489)
at com.jcraft.jsch.KnownHosts.setKnownHosts(KnownHosts.java:53)
at com.jcraft.jsch.JSch.setKnownHosts(JSch.java:317)
at org.apache.camel.component.scp.ScpOperations.createSession(ScpOperations.java:239)
at org.apache.camel.component.scp.ScpOperations.connect(ScpOperations.java:179)
at org.apache.camel.component.file.remote.RemoteFileProducer.connectIfNecessary(RemoteFileProducer.java:209)
at org.apache.camel.component.file.remote.RemoteFileProducer.recoverableConnectIfNecessary(RemoteFileProducer.java:201)
at org.apache.camel.component.file.remote.RemoteFileProducer.preWriteCheck(RemoteFileProducer.java:133)
at org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:113)
at org.apache.camel.component.file.remote.RemoteFileProducer.process(RemoteFileProducer.java:58)
at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:173)
at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:341)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:168)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:468)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:454)
at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:226)
at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:190)
at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:175)
at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:102)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
2017-08-24 16:29:05 WARN ScpProducer:86 - Writing file failed with: null
我的答案對問題有幫助嗎? – jfneis