Connect to ScrapingBee Data from a Connection Pool in Jetty
The CData JDBC driver for ScrapingBee is easy to integrate with Java Web applications. This article shows how to efficiently connect to ScrapingBee data in Jetty by configuring the driver for connection pooling. You will configure a JNDI resource for ScrapingBee 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 ScrapingBee data source at the level of the Web app, in WEB-INF\jetty-env.xml.
<Configure id='scrapingbeedemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="scrapingbeedemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="scrapingbeedemo"/></Arg> <Arg>jdbc/scrapingbeedb</Arg> <Arg> <New class="cdata.jdbc.api.APIDriver"> <Set name="url">jdbc:api:</Set> <Set name="Profile">C:\profiles\ScrapingBee.apip</Set> <Set name="AuthScheme">APIKey</Set> <Set name="ProfileSettings">"APIKey</Set> </New> </Arg> </New> </Configure>Using API Key Authentication
ScrapingBee uses API key authentication. To obtain an API key:
- Sign in to your ScrapingBee account at https://app.scrapingbee.com
- Navigate to the Dashboard and locate your API key in the top section.
- Copy the API key for use in the connection string.
After obtaining your API key, set the following connection properties:
- AuthScheme: Set this to APIKey.
- APIKey: Set this to your ScrapingBee API key.
Example Connection String
Profile=C:\profiles\ScrapingBee.apip;AuthScheme=APIKey;ProfileSettings="APIKey=your_api_key";
Connecting to ScrapingBee
Once the authentication is configured, you can connect to ScrapingBee and query data from any of the available tables. All tables require at least one input parameter (such as a search query or product ID) to retrieve data.
-
Configure the resource in the Web.xml:
jdbc/scrapingbeedb javax.sql.DataSource Container
-
You can then access ScrapingBee with a lookup to java:comp/env/jdbc/scrapingbeedb:
InitialContext ctx = new InitialContext(); DataSource myscrapingbee = (DataSource)ctx.lookup("java:comp/env/jdbc/scrapingbeedb");
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.