Chapter 64. Jsch
Jsch
The camel-jsch component supports the SCP protocol using the Client API of the Jsch project. Jsch is already used in camel by the FTP component for the sftp: protocol.
Maven users will need to add the following dependency to their
pom.xml
for this component:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jsch</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
URI format
scp://host[:port]/destination[?options]
You can append query options to the URI in the following format,
?option=value&option=value&...
The file name can be specified either in the <path> part of the URI or as a "CamelFileName" header on the message (
Exchange.FILE_NAME
if used in code).
Options
Name | Description | Example | Default Value |
---|---|---|---|
username
|
Specifies the username to use to log in to the remote file system. |
null
|
|
password
|
Specifies the password to use to log in to the remote file system. |
null
|
|
knownHostsFile
|
Sets the known_hosts file, so that the scp endpoint can do host key verification.
|
null
|
|
strictHostKeyChecking
|
Sets whether to use strict host key checking. Possible values are: no , yes
|
no
|
|
chmod
|
Allows you to set chmod on the stored file. For example chmod=664 .
|
null
|
Limitations
Currently camel-jsch only supports a Producer (i.e. copy files to another host). The reason is that the scp protocol does not offer the possibility to scan (list) the content of a directory. As such a polling consumer cannot watch for changes and trigger events on changes. If continuous monitoring of a directory on a remote host and secure transfer is required, you can consider using the sftp protocol.