Model Context Protocol (MCP) finally gives AI models a way to access the business data needed to make them really useful at work. CData MCP Servers have the depth and performance to make sure AI has access to all of the answers.
Try them now for free →Connect to SFTP Data from a Connection Pool in Jetty
The SFTP JDBC Driver supports connection pooling: This article shows how to connect faster to SFTP data from Web apps in Jetty.
The CData JDBC driver for SFTP is easy to integrate with Java Web applications. This article shows how to efficiently connect to SFTP data in Jetty by configuring the driver for connection pooling. You will configure a JNDI resource for SFTP in Jetty.
Configure the JDBC Driver for Salesforce as a JNDI Data Source
Follow the steps below to connect to Salesforce from Jetty.
Enable the JNDI module for your Jetty base. The following command enables JNDI from the command-line:
java -jar ../start.jar --add-to-startd=jndi
- Add the CData and license file, located in the lib subfolder of the installation directory, into the lib subfolder of the context path.
-
Declare the resource and its scope. Enter the required connection properties in the resource declaration. This example declares the SFTP data source at the level of the Web app, in WEB-INF\jetty-env.xml.
<Configure id='sftpdemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="sftpdemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="sftpdemo"/></Arg> <Arg>jdbc/sftpdb</Arg> <Arg> <New class="cdata.jdbc.sftp.SFTPDriver"> <Set name="url">jdbc:sftp:</Set> <Set name="RemoteHost">MyFTPServer</Set> </New> </Arg> </New> </Configure>
SFTP can be used to transfer files to and from SFTP servers using the SFTP Protocol. To connect, specify the RemoteHost;. service uses the User and Password and public key authentication (SSHClientCert). Choose an SSHAuthMode and specify connection values based on your selection.
Set the following connection properties to control the relational view of the file system:
- RemotePath: Set this to the current working directory.
- TableDepth: Set this to control the depth of subfolders to report as views.
- FileRetrievalDepth: Set this to retrieve files recursively and list them in the Root table.
-
Configure the resource in the Web.xml:
jdbc/sftpdb javax.sql.DataSource Container -
You can then access SFTP with a lookup to java:comp/env/jdbc/sftpdb:
InitialContext ctx = new InitialContext(); DataSource mysftp = (DataSource)ctx.lookup("java:comp/env/jdbc/sftpdb");
More Jetty Integration
The steps above show how to configure the driver in a simple connection pooling scenario. For more use cases and information, see the Working with Jetty JNDI chapter in the Jetty documentation.