Ready to get started?

Connect to live data from Aha with the API Driver

Connect to Aha

Connect to Aha Data from a Connection Pool in Jetty



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

The CData JDBC driver for Aha is easy to integrate with Java Web applications. This article shows how to efficiently connect to Aha data in Jetty by configuring the driver for connection pooling. You will configure a JNDI resource for Aha 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 Aha data source at the level of the Web app, in WEB-INF\jetty-env.xml.

    <Configure id='ahademo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="ahademo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="ahademo"/></Arg> <Arg>jdbc/ahadb</Arg> <Arg> <New class="cdata.jdbc.api.APIDriver"> <Set name="url">jdbc:api:</Set> <Set name="Profile">C:\profiles\aha.apip</Set> <Set name="ProfileSettings">'Domain</Set> <Set name="Authscheme">OAuth</Set> <Set name="OAuthClientId">your_client_id</Set> <Set name="OAuthClientSecret">your_client_secret</Set> <Set name="CallbackUrl">your_callback_url</Set> </New> </Arg> </New> </Configure>

    Start by setting the Profile connection property to the location of the Aha! Profile on disk (e.g. C:\profiles\aha.apip). Next, set the ProfileSettings connection property to the connection string for Aha! (see below).

    Aha! API Profile Settings

    The Aha! API uses OAuth-based authentication.

    You will first need to register an OAuth app with Aha!. This can be done from your Aha! account under 'Settings' > 'Personal' > 'Developer' > 'OAuth Applications'. Additionally, you will need to set the Domain, found in the domain name of your Aha account. For example if your Aha account is acmeinc.aha.io, then the Domain should be 'acmeinc'.

    After setting the following in the connection string, you are ready to connect:

    • AuthScheme: Set this to OAuth.
    • InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to manage the process to obtain the OAuthAccessToken.
    • OAuthClientId: Set this to the client_id that is specified in you app settings.
    • OAuthClientSecret: Set this to the client_secret that is specified in you app settings.
    • CallbackURL: Set this to the Redirect URI you specified in your app settings.
    • Domain: Set this in the ProfileSettings to your Aha domain.
  4. Configure the resource in the Web.xml:

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

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.