Connect to OData Services from a Connection Pool in Jetty



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

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

About OData Data Integration

CData simplifies access and integration of live OData services data. Our customers leverage CData connectivity to:

  • Access OData versions 2.0, 3.0, and 4.0, working with legacy services and the latest features and capabilities.
  • Leverage advanced query options, including $filter, $select, and $expand, enhancing data retrieval from 3rd party tools.
  • Use Server-side execution of aggregation and grouping to minimize data transfer and boost performance.
  • Authenticate securely using a variety of schemes, including Azure AD, digest, negotiate, NTLM, OAuth, and more means secure authentication with every connection.
  • Use SQL stored procedures to manage OData service entities - listing, creating, and removing associations between entities.

Customers use CData's solutions to regularly integrate their OData services with preferred tools, such as Power BI, MicroStrategy, or Tableau, and to replicate data from OData services to their databases or data warehouses.


Getting Started


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 OData data source at the level of the Web app, in WEB-INF\jetty-env.xml.

    <Configure id='odatademo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="odatademo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="odatademo"/></Arg> <Arg>jdbc/odatadb</Arg> <Arg> <New class="cdata.jdbc.odata.ODataDriver"> <Set name="url">jdbc:odata:</Set> <Set name="URL">http://services.odata.org/V4/Northwind/Northwind.svc</Set> <Set name="UseIdUrl">True</Set> <Set name="OData Version">4.0</Set> <Set name="Data Format">ATOM</Set> </New> </Arg> </New> </Configure>

    The User and Password properties, under the Authentication section, must be set to valid OData user credentials. In addition, you will need to specify a URL to a valid OData server organization root or OData services file.

  4. Configure the resource in the Web.xml:

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

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.

Ready to get started?

Download a free trial of the OData Driver to get started:

 Download Now

Learn more:

OData Icon OData JDBC Driver

Easy-to-use OData client (consumer) enables developers to build Java applications that easily communicate with OData services.