Apache Camel SFTP 文件上传不起作用 [英] Apache Camel SFTP File Upload is not working
问题描述
程序没有抛出任何异常,但文件被移动到 .camel 文件夹.它没有上传到服务器位置/tmp/uta/test1 .还说上传文件 ubuntu.png 已完成.".请帮我找出问题所在.
Program is not throwing any exception but file is moved to .camel folder.It was not uploaded to the server location /tmp/uta/test1 .Also it says "Upload file ubuntu.png is complete.". Please help me to find what is wrong.
路由器:-
@Component
public class SampleCamelRouter extends RouteBuilder {
@Override
public void configure() throws Exception {
from("file:C:/Users/Downloads/test")
.to("sftp://user@102.108.99.100/tmp/uta/test1?password=password").
log("Upload file ${file:name} is complete.");
}
}
更新日志详情:-
route starts..
route ends..
[0 ] - Apache Camel 2.13.0 (CamelContext: camel-1) is starting
[4 ] - Tracing is enabled on CamelContext: camel-1
[5 ] - JMX is enabled
[370 ] - Loaded 175 type converters
[662 ] - AllowUseOriginalMessage is enabled. If access to the original message is not needed, then its recommended to turn this option off as it may improve performance.
[662 ] - StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
[725 ] - Route: route1 started and consuming from: Endpoint[file://C:/Users/Downloads/test]
[725 ] - Total 1 routes, of which 1 is started.
[744 ] - Apache Camel 2.13.0 (CamelContext: camel-1) started in 0.730 seconds
[31453 ] - ID-B20GPF2-59231-1501554606358-0-2 >>> (route1) from(file://C:/Users/Downloads/test) --> sftp://leo@102.108.99.100/tmp/uta/test1?password=xxxxxx <<< Pattern:InOnly, Headers:{CamelFileName=cron.png, CamelFileNameOnly=cron.png, CamelFileRelativePath=cron.png, CamelFileAbsolute=true, CamelFileLength=4214, CamelFileAbsolutePath=C:\Users\Downloads\test\cron.png, breadcrumbId=ID-B20GPF2-59231-1501554606358-0-1, CamelFileLastModified=1497248004376, CamelFileParent=C:\Users\Downloads\test, CamelFilePath=C:\Users\Downloads\test\cron.png, CamelFileNameConsumed=cron.png}, BodyType:org.apache.camel.component.file.GenericFile, Body:[Body is file based: GenericFile[C:\Users\Downloads\test\cron.png]]
[31649 ] - JSCH -> Connecting to 102.108.99.100 port 22
[31685 ] - JSCH -> Connection established
[31703 ] - JSCH -> Remote version string: SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2
[31703 ] - JSCH -> Local version string: SSH-2.0-JSCH-0.1.50
[31703 ] - JSCH -> CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256
[33657 ] - JSCH -> aes256-ctr is not available.
[33657 ] - JSCH -> aes192-ctr is not available.
[33657 ] - JSCH -> aes256-cbc is not available.
[33657 ] - JSCH -> aes192-cbc is not available.
[33657 ] - JSCH -> arcfour256 is not available.
[33658 ] - JSCH -> CheckKexes: diffie-hellman-group14-sha1
[34313 ] - JSCH -> SSH_MSG_KEXINIT sent
[34314 ] - JSCH -> SSH_MSG_KEXINIT received
[34314 ] - JSCH -> kex: server: curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
[34314 ] - JSCH -> kex: server: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
[34314 ] - JSCH -> kex: server: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
[34314 ] - JSCH -> kex: server: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
[34314 ] - JSCH -> kex: server: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
[34314 ] - JSCH -> kex: server: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
[34314 ] - JSCH -> kex: server: none,zlib@openssh.com
[34314 ] - JSCH -> kex: server: none,zlib@openssh.com
[34314 ] - JSCH -> kex: server:
[34314 ] - JSCH -> kex: server:
[34314 ] - JSCH -> kex: client: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1
[34314 ] - JSCH -> kex: client: ssh-rsa,ssh-dss
[34314 ] - JSCH -> kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc
[34315 ] - JSCH -> kex: client: aes128-ctr,aes128-cbc,3des-ctr,3des-cbc,blowfish-cbc
[34315 ] - JSCH -> kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96
[34315 ] - JSCH -> kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96
[34315 ] - JSCH -> kex: client: none
[34315 ] - JSCH -> kex: client: none
[34315 ] - JSCH -> kex: client:
[34315 ] - JSCH -> kex: client:
[34315 ] - JSCH -> kex: server->client aes128-ctr hmac-sha1 none
[34315 ] - JSCH -> kex: client->server aes128-ctr hmac-sha1 none
[34337 ] - JSCH -> SSH_MSG_KEXDH_INIT sent
[34337 ] - JSCH -> expecting SSH_MSG_KEXDH_REPLY
[34359 ] - JSCH -> ssh_rsa_verify: signature true
[34364 ] - JSCH -> Permanently added '102.108.99.100' (RSA) to the list of known hosts.
[34365 ] - JSCH -> SSH_MSG_NEWKEYS sent
[34365 ] - JSCH -> SSH_MSG_NEWKEYS received
[34374 ] - JSCH -> SSH_MSG_SERVICE_REQUEST sent
[34375 ] - JSCH -> SSH_MSG_SERVICE_ACCEPT received
[34378 ] - JSCH -> Authentications that can continue: publickey,keyboard-interactive,password
[34379 ] - JSCH -> Next authentication method: publickey
[34380 ] - JSCH -> Authentications that can continue: keyboard-interactive,password
[34380 ] - JSCH -> Next authentication method: keyboard-interactive
[34396 ] - JSCH -> Authentication succeeded (keyboard-interactive).
[34904 ] - Connected to sftp://leo@102.108.99.100:22
[34904 ] - Connected and logged in to: Endpoint[sftp://leo@102.108.99.100/tmp/uta/test1?password=xxxxxx]
[34950 ] - ID-B20GPF2-59231-1501554606358-0-2 >>> (route1) sftp://leo@102.108.99.100/tmp/uta/test1?password=xxxxxx --> log[Upload file ${file:name} is complete.] <<< Pattern:InOnly, Headers:{CamelFileRelativePath=cron.png, breadcrumbId=ID-B20GPF2-59231-1501554606358-0-1, CamelFileLastModified=1497248004376, CamelFileLength=4214, CamelFileName=cron.png, CamelFileNameConsumed=cron.png, CamelFileNameProduced=tmp/uta/test1/cron.png, CamelFileParent=C:\Users\Downloads\test, CamelFileNameOnly=cron.png, CamelFileAbsolute=true, CamelFilePath=C:\Users\Downloads\test\cron.png, CamelFileAbsolutePath=C:\Users\Downloads\test\cron.png}, BodyType:org.apache.camel.component.file.GenericFile, Body:[Body is file based: GenericFile[C:\Users\Downloads\test\cron.png]]
[34950 ] - Upload file cron.png is complete.
推荐答案
默认情况下,camel 将始终转到 /home/username/
目录,然后将打开您提供的目录路径.所以,它将是相对路径.
不能直接提供绝对路径,所以使用 /../../tmp/uta/test1
和 stepwise=true
By default, camel will always go to /home/username/
dir and then will open your provided directory path.
So, it will be relative path.
You can not provide absolute path directly, so use /../../tmp/uta/test1
and stepwise=true
为了获得更好的见解,您还可以尝试:runLoggingLevel=TRACE
、throwExceptionOnConnectFailed=true
等选项.
For better insights, you can also try:
runLoggingLevel=TRACE
, throwExceptionOnConnectFailed=true
and other options.
这篇关于Apache Camel SFTP 文件上传不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!