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 |
---|---|---|---|
|
Specifies the username to use to log in to the remote file system. |
|
|
|
Specifies the password to use to log in to the remote file system. |
|
|
|
Sets the |
|
|
|
Sets whether to use strict host key checking. Possible values are: |
|
|
|
Allows you to set chmod on the stored file. For example |
|
|
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. It is possible however to use camel-jsch in sink mode for one time copy from a remote host using a ConsumerTemplate (see Polling Consumer(s) for more details). If continuous monitoring of a directory on a remote host and secure transfer is required, you can consider using the sftp protocol.