![]() |
VOOZH | about |
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.
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
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).
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, 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:
Configure the resource in the Web.xml:
jdbc/ahadb javax.sql.DataSource Container
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");
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.
Connect to live data from Aha! with the API Driver
Connect to Aha!