Red Hat Training

A Red Hat training course is available for Red Hat Fuse

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.