Java 骆驼sftp写入文件失败,原因是:无法存储文件

Java 骆驼sftp写入文件失败,原因是:无法存储文件,java,apache-camel,sftp,jms-topic,camel-ftp,Java,Apache Camel,Sftp,Jms Topic,Camel Ftp,我有几天的时间,看看ApacheCamel,然后通过sftp服务器将文件传输到jms队列或主题 我在配置端点(消费者)和路由(从文件到sftp,从sftp到jms…)时遇到了一个问题。对我来说什么都不管用。 我在sftp服务器(linux)上工作,java版本为“1.7.0_45” 我使用apache camel 2.5、activemq 5.3.2、, 我上传了Jsch jar 这是我的简单代码 public class FtpJms { public static void mai

我有几天的时间,看看ApacheCamel,然后通过sftp服务器将文件传输到jms队列或主题

我在配置端点(消费者)和路由(从文件到sftp,从sftp到jms…)时遇到了一个问题。对我来说什么都不管用。 我在sftp服务器(linux)上工作,java版本为“1.7.0_45” 我使用apache camel 2.5、activemq 5.3.2、, 我上传了Jsch jar

这是我的简单代码

public class FtpJms {

    public static void main(String args[]) throws Exception {
        CamelContext context = new DefaultCamelContext();
        context.addRoutes(new RouteBuilder() {
             @Override
            public void configure() {

            from("file://usr/dir1/dir2?noop=true").
            to("sftp://root@hostname/inbox?username=root&password=xxx");
        }});
我将程序打包成一个jar文件,然后在服务器上运行它。 然而,它返回:

[ - file://usr/dir1/dir2] SftpOperations                 INFO  JSCH -> Authentications that can continue: password
[ - file://usr/dir1/dir2] SftpOperations                 INFO  JSCH -> Next authentication method: password
[ - file://usr/dir1/dir2] SftpOperations                 INFO  JSCH -> Authentication succeeded (password).
[ - file://usr/dir1/dir2] SftpOperations                 INFO  Connected to sftp://root@hostname:22
[ - file://usr/dir1/dir2] RemoteFileProducer             INFO  Connected and logged in to: Endpoint[sftp://root@hostname/inbox?password=******&username=root]
[ - file://usr/dir1/dir2] RemoteFileProducer             WARN  Writing file failed with: Cannot store file: inbox/test10.txt
[ - file://usr/dir1/dir2] SftpOperations                 INFO  JSCH -> Disconnecting from hostname port 22
[ - file://usr/dir1/dir2] GenericFileOnCompletion        ERROR Caused by: [org.apache.camel.component.file.GenericFileOperationFailedException - Cannot store file: inbox/test10.txt]
org.apache.camel.component.file.GenericFileOperationFailedException: Cannot store file: inbox/test10.txt
        at org.apache.camel.component.file.remote.SftpOperations.storeFile(SftpOperations.java:617)[jar:rsrc:camel-ftp-2.5.0.jar!/:]
        at org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:220)[jar:rsrc:camel-core-2.5.0.jar!/:]
        at org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:138)[jar:rsrc:camel-core-2.5.0.jar!/:]
        at org.apache.camel.component.file.remote.RemoteFileProducer.process(RemoteFileProducer.java:49)[jar:rsrc:camel-ftp-2.5.0.jar!/:]
        at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)[jar:rsrc:camel-core-2.5.0.jar!/:]

那是整个stacktrace吗?应该有一个或多个带有附加堆栈跟踪的“由”秒。它是从堆栈跟踪中提取的。但是,这是一个从/usr/dir1/dir2目录滚动/读取文件的示例,后续异常是针对下一个文件的。从中可以看出,“无法存储文件”是一条通用错误消息,指示发生了异常。
GenericFileOperationFailedException
应将原始异常作为原因附加。如果没有最初的异常,就无法确切说明操作失败的原因。对不起,我仍然无法理解原因:(您是否能够手动上载到sftp主机?