Connect to Sage X3 Cloud Data from a Connection Pool in JBoss
CData JDBC drivers can be configured in JBoss by following the standard procedure for connection pooling. This article details how to access Sage X3 Cloud data from a connection pool in JBoss applications. This article details how to use the JBoss Management Interface to configure the CData JDBC Driver for Sage X3 Cloud. You will then access Sage X3 Cloud data from a connection pool.
Create a JDBC Data Source for Sage X3 Cloud from the Management Console
Follow the steps below to add the driver JAR and define required connection properties.
- In the Runtime menu, select the Domain or Server menu, depending on whether you are deploying to a managed domain or to a stand-alone server, and click "Manage deployments" to open the Deployments page.
- Click Add. In the resulting wizard, add the JAR file and license for the driver, located in the lib subfolder of the installation directory. Finish the wizard with the defaults, select the driver, and click Enable.
- In the Configuration menu, click Subsystems -> Connector -> Datasources. This opens the JDBC Datasources page.
- Click Add and, in the resulting wizard, enter a name for the driver and the JNDI name. For example:
java:jboss/root/jdbc/SageX3Cloud - Select the driver that you added above.
Enter the JDBC URL and the username and password. The syntax of the JDBC URL is jdbc:sagex3cloud: followed by a semicolon-separated list of connection properties.
Sage X3 Cloud uses the OAuth 2.0 Client Credentials flow, and an X-API-Key is also required for API access. Set AuthScheme to OAuth and specify the following connection properties:
- URL: The base URL of your Sage X3 Cloud instance.
- OAuthAccessTokenUrl: The OAuth token endpoint (e.g., https://your-auth-domain/oauth/token).
- OAuthClientId: Your OAuth application client ID.
- OAuthClientSecret: Your OAuth application client secret.
- Audience: The API audience value for the token request.
- XAPIKey: The X-API-Key provided by your Sage X3 Cloud administrator.
- Folder: The Sage X3 folder name (e.g., SEED). This folder is used as the default schema.
- Folders (optional): A comma-separated list of Sage X3 folders (e.g., SEED,PERF). Each folder is exposed as a separate schema, so you can query across folders with the Schema.Table syntax.
The driver obtains an access token with the Client Credentials flow and sends it with the X-API-Key on every API request. With InitiateOAuth set to GETANDREFRESH (the default), the driver acquires and refreshes the token automatically.
Built-in Connection String Designer
For assistance in constructing the JDBC URL, use the connection string designer built into the Sage X3 Cloud JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.sagex3cloud.jarFill in the connection properties and copy the connection string to the clipboard.
A typical connection string is below:
jdbc:sagex3cloud:AuthScheme=OAuth;URL=https://x3server/;OAuthAccessTokenUrl=https://auth-domain/oauth/token;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;Audience=https://api-audience;XAPIKey=your_api_key;Folder=SEED;- Test the connection and finish the wizard. Select the Sage X3 Cloud data source and click Enable.
More JBoss Integration
The steps above show how to configure the driver in a simple connection pooling scenario. For more information, refer to the Data Source Management chapter in the JBoss EAP documentation.