Connect to Sentry Data from a Connection Pool in Jetty
The CData JDBC driver for Sentry is easy to integrate with Java Web applications. This article shows how to efficiently connect to Sentry data in Jetty by configuring the driver for connection pooling. You will configure a JNDI resource for Sentry 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 Sentry data source at the level of the Web app, in WEB-INF\jetty-env.xml.
<Configure id='sentrydemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="sentrydemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="sentrydemo"/></Arg> <Arg>jdbc/sentrydb</Arg> <Arg> <New class="cdata.jdbc.api.APIDriver"> <Set name="url">jdbc:api:</Set> <Set name="Profile">C:\profiles\Sentry.apip</Set> <Set name="AuthScheme">APIKey</Set> <Set name="ProfileSettings">"APIKey</Set> <Set name="OrganizationId">your_org_slug"</Set> </New> </Arg> </New> </Configure>Using API Key Authentication
Sentry uses token-based authentication. To obtain an Auth Token:
- Log in to your Sentry account at https://sentry.io
- Navigate to Settings > Auth Tokens
- Click "Create New Token"
- Select the required scopes and click "Create Token"
- Copy the generated token (it will only be shown once)
After obtaining your Auth Token, set the following connection properties:
- AuthScheme: Set this to APIKey.
- APIKey: Set this to your Sentry Auth Token.
- OrganizationId: Set this to your Sentry organization slug or ID.
Example Connection String
Profile=C:\profiles\Sentry.apip;AuthScheme=APIKey;ProfileSettings="APIKey=your_auth_token;OrganizationId=your_org_slug";
Connecting to Sentry
Once the authentication is configured, you can connect to Sentry and query data from any of the available tables such as Organizations, Projects, Issues, and Events.
-
Configure the resource in the Web.xml:
jdbc/sentrydb javax.sql.DataSource Container
-
You can then access Sentry with a lookup to java:comp/env/jdbc/sentrydb:
InitialContext ctx = new InitialContext(); DataSource mysentry = (DataSource)ctx.lookup("java:comp/env/jdbc/sentrydb");
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.