Connect to Epicor Kinetic Data from a Connection Pool in Jetty



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

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

    <Configure id='epicorkineticdemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="epicorkineticdemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="epicorkineticdemo"/></Arg> <Arg>jdbc/epicorkineticdb</Arg> <Arg> <New class="cdata.jdbc.epicorkinetic.epicorKineticDriver"> <Set name="url">jdbc:epicorkinetic:</Set> <Set name="Service">Erp.BO.CustomerSvc</Set> <Set name="ERPInstance">MyInstance</Set> <Set name="URL">https://myaccount.epicorsaas.com</Set> <Set name="User">username</Set> <Set name="Password">password</Set> <Set name="InitiateOAuth">GETANDREFRESH</Set> </New> </Arg> </New> </Configure>

    To successfully connect to your ERP instance, you must specify the following connection properties:

    • Url:the URL of the server hosting your ERP instance. For example, https://myserver.EpicorSaaS.com
    • ERPInstance: the name of your ERP instance.
    • User: the username of your account.
    • Password: the password of your account.
    • Service: the service you want to retrieve data from. For example, BaqSvc.

    In addition, you may also set the optional connection properties:

    • ApiKey: An optional key that may be required for connection to some services depending on your account configuration.
    • ApiVersion: Defaults to v1. May be set to v2 to use the newer Epicor API.
    • Company: Required if you set the ApiVersion to v2.
  4. Configure the resource in the Web.xml:

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

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 Epicor Kinetic Driver to get started:

 Download Now

Learn more:

Epicor Kinetic Icon Epicor Kinetic JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with Epicor Kinetic data, including Sales Orders, Purchase Orders, Accounts, and more!