Connect to Azure Synapse Data from a Connection Pool in Jetty

Ready to get started?

Download a free trial:

Download Now

Learn more:

Azure Synapse JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with Azure Synapse.

The Azure Synapse JDBC Driver supports connection pooling: This article shows how to connect faster to Azure Synapse data from Web apps in Jetty.

The CData JDBC driver for Azure Synapse is easy to integrate with Java Web applications. This article shows how to efficiently connect to Azure Synapse data in Jetty by configuring the driver for connection pooling. You will configure a JNDI resource for Azure Synapse in Jetty.

Configure the JDBC Driver for Salesforce as a JNDI Data Source

Follow the steps below to connect to Salesforce from Jetty.

  1. 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
  2. Add the CData and license file, located in the lib subfolder of the installation directory, into the lib subfolder of the context path.
  3. Declare the resource and its scope. Enter the required connection properties in the resource declaration. This example declares the Azure Synapse data source at the level of the Web app, in WEB-INF\jetty-env.xml.

    <Configure id='azuresynapsedemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="azuresynapsedemo" class=""> <Arg><Ref refid="azuresynapsedemo"/></Arg> <Arg>jdbc/azuresynapsedb</Arg> <Arg> <New class="cdata.jdbc.azuresynapse.AzureSynapseDriver"> <Set name="url">jdbc:azuresynapse:</Set> <Set name="User">myuser</Set> <Set name="Password">mypassword</Set> <Set name="Server">localhost</Set> <Set name="Database">Northwind</Set> </New> </Arg> </New> </Configure>

    Connecting to Azure Synapse

    In addition to providing authentication (see below), set the following properties to connect to a Azure Synapse database:

    • Server: The server running Azure. You can find this by logging into the Azure portal and navigating to Azure Synapse Analytics -> Select your database -> Overview -> Server name.
    • Database: The name of the database, as seen in the Azure portal on the Azure Synapse Analytics page.

    Authenticating to Azure Synapse

    Connect to Azure Synapse using the following properties:

    • User: The username provided for authentication with Azure.
    • Password: The password associated with the authenticating user.
  4. Configure the resource in the Web.xml:

    jdbc/azuresynapsedb javax.sql.DataSource Container
  5. You can then access Azure Synapse with a lookup to java:comp/env/jdbc/azuresynapsedb: InitialContext ctx = new InitialContext(); DataSource myazuresynapse = (DataSource)ctx.lookup("java:comp/env/jdbc/azuresynapsedb");

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.