Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The data integration feature in WSO2 EI supports data federation, which means that a single data service can expose data from multiple datasources. However, if you have multiple RDBMSs connected to your data service, and if you need to perform IN-ONLY operations (operations that can insert data and modify data in the datasource) in a coordinated manner, the RDBMSs need to be defined as XA datasources. Consider a scenario where you have two MySQL databases. You can define a single data service for these databases and insert data into both as explained below.

...

  1. Install the MySQL server.
  2. Download the JDBC driver for MySQL from here and copy it to your <EI_HOME>/lib directory.
  3. Set up a database for storing information of offices:
    1. Create a database called OfficeDetails: CREATE database DATABASE OfficeDetails;

    2. Create the Offices table:

      Code Block
      USE OfficeDetails;
      CREATE TABLE `Offices` (`OfficeCode` int(11) NOT NULL, `AddressLine1` varchar(255) NOT NULL, `AddressLine2` varchar(255) DEFAULT NULL, `City` varchar(255) DEFAULT NULL, `State` varchar(255) DEFAULT NULL, `Country` varchar(255) DEFAULT NULL, `Phone` varchar(255) DEFAULT NULL, PRIMARY KEY (`OfficeCode`));
  4. Set up a database for storing information of employees:
    1. Create a database called EmployeeDetails: CREATE database DATABASE EmployeeDetails;
    2. Create the Employees table:

      Code Block
      USE EmployeeDetails;
      CREATE TABLE `Employees` (`EmployeeNumber` int(11) NOT NULL, `FirstName` varchar(255) NOT NULL, `LastName` varchar(255) DEFAULT NULL, `Email` varchar(255) DEFAULT NULL, `JobTitle` varchar(255) DEFAULT NULL, `OfficeCode` int(11) NOT NULL, PRIMARY KEY (`EmployeeNumber`));

...

  1. Log into the management console of WSO2 EI and click Create under Data Service.
  2. Add a name for the data service and go to the next step.
  3. Select the Disable Legacy Boxcarring Mode check box.
  4. Click Next to go to the Datasources screen.
  5. Create a datasource connection for the CompanyDetails database follows:
    1. Enter XAoffices as the datasource ID.
    2. Select RDBMS as the datasource type.
    3. Select External Datasource from the adjoining field.
    4. Select MySQL as the database engine.
    5. Enter the following database class corresponding to MySQL: com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
    6. Click Add Properties and create the connection settings for the OfficeDetails database.
      URL: jdbc:mysql://localhost:3306/OfficeDetails
      USER: root
  6. Save the XAoffices datasource.
  7. Create a datasource connection for the EmployeeDetails database as follows:
    1. Enter XAemployees as the datasource ID.
    2. Select RDBMS as the datasource type.
    3. Select External Datasource from the adjoining field.
    4. Select MySQL as the database engine.
    5. Enter the following database class corresponding to MySQL: com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
    6. Click Add Properties and create the connection settings for the OfficeDetails database.
      URL: jdbc:mysql://localhost:3306/EmployeeDetails
      USER: root
  8. Save the XAemployees datasource.

...