Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h2. Jsch

The *camel-jsch* component supports the [SCP protocol|http://en.wikipedia.org/wiki/Secure_copy] using the Client API of the [Jsch|http://www.jcraft.com/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:
{code:xml}
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-jsch</artifactId>
    <version>${camel.version}</version> <!-- use the same version as your Camel core version -->
</dependency>
{code}

h3. URI format

{code}
scp://host[:port]/destination[?options]
{code}

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).

h3. Options
{div:class=confluenceTableSmall}
|| 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}} |

h3. Limitations

Currently camel-jsch only supports a [Producer|http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Producer.html] (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|http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/ConsumerTemplate.html] (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|Ftp2].

{include:Endpoint See Also}