Configuring Sun Master Indexes

Configuring Master Index Processing Options

The Master Controller defines how transactions are processed, and is configured in master.xml. You can specify Java classes that insert additional logic into the match process, configure the blocking query to use for matching, define how merged record updates are handled, and specify whether a record’s potential duplicates are reevaluated after it is updated. You can customize the Master Controller by performing any of the following actions.

Specifying Master Index Custom Logic Classes

The logic-class element specifies custom match processing logic for messages coming from external systems. The and logic-class-gui element specifies custom match processing logic for the MIDM. If no custom plug-ins were created to define the custom logic, leave these elements empty. Custom logic classes can only be specified by modifying the XML file directly.

ProcedureTo Specify Custom Logic for External System Messages

  1. In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.

  2. In the MasterControllerConfig element, change the value of the logic-class element to the name of the custom plug-in that contains the back-end logic.

    For example:


    <logic-class>com.sun.mdm.index.user.CustomProcessing</logic-class>
  3. Save and close the file.

ProcedureTo Specify Custom Logic for the Master Index Data Manager

  1. In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.

  2. In the MasterControllerConfig element, change the value of the logic-class-gui element to the name of the custom plug-in that contains the MIDM logic.

    For example:


    <logic-class-gui>com.sun.mdm.index.user.CustomMIDM</logic-class-gui>
  3. Save and close the file.

Specifying the Master Index Update Mode

The update-mode element specifies whether potential duplicates are reevaluated for a record each time the record is updated. If you specify that potential duplicates are reevaluated, the reevaluation only occurs when updates are made to fields involved in blocking and matching. The update mode can only be specified by modifying the XML file directly.

ProcedureTo Specify Potential Duplicates be Reevaluated at Each Update

  1. In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.

  2. In the MasterControllerConfig element, change the value of the update-mode element to Pessimistic.

    For example:


    <update-mode>Pessimistic</update-mode>
  3. Save and close the file.

ProcedureTo Specify Potential Duplicates not be Reevaluated at Each Update

  1. In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.

  2. In the MasterControllerConfig element, change the value of the update-mode element to Optimistic.

    For example:


    <update-mode>Optimistic</update-mode>
  3. Save and close the file.

Configuring Master Index Merged Record Updates

The merged-record-update element allows you to define whether updates can be made to records with a status of Merged.

ProcedureTo Allow Merged Record Updates

  1. In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.

  2. In the MasterControllerConfig element, change the value of the merged-record-update element to Enabled.

    For example:


    <merged-record-update>Enabled</merged-record-update>
  3. Save and close the file.

ProcedureTo Prevent Merged Record Updates

  1. In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.

  2. In the MasterControllerConfig element, change the value of the merged-record-update element to Disabled.

    For example:


    <merged-record-update>Disabled</merged-record-update>
  3. Save and close the file.

Specifying the Master Index Blocking Query for Matching

You need to specify the query that will be used by the master index application to retrieve a candidate selection pool of records that closely match an incoming record and that will be used for probabilistic weighting. The name of the blocking query you specify here must match the name of one of the blocking queries defined in query.xml. You can only specify one blocking query for matching in the master index application.


Note –

Modifying the blocking query once your system is in production is not recommended because it can cause issues with data integrity.


ProcedureTo Specify the Blocking Query for Matching

  1. In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.

  2. Scroll to the execute-match element in the MasterControllerConfig element.

  3. Modify the value of the query-builder name to the name of the blocking query you want to use. For example:


    <execute-match>
     <query-builder name="MY-BLOCKER">
     <option key="key" value="value"/>
     </query-builder>
    </execute-match>

    Note –

    Make sure the name you specify exactly matches the name of one of the blocking queries defined in query.xml.


  4. Set the blocking query options, as described in Setting Master Index Blocking Query Options.

  5. Save and close the file.

Setting Master Index Blocking Query Options

Key and value pairs are designed to fine-tune the operation of custom blocking queries. In the default blocking queries defined in query.xml, key and value pairs are not used. However, if you create a custom blocking query, you can configure the query to use key and value pairs. The key describes the option, and the value specifies the value of the option.

ProcedureTo Set Blocking Query Options

  1. In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.

  2. Scroll to the execute-match element.

  3. To specify a key and value pair, modify the values of the key and value attributes in the option element.

    For example:


    <option key="wildcard" value="true"/>
  4. To delete a key and value pair, remove the option element.

  5. Save and close the file.

Defining Master Index Transactional Support

You can define the master index application to distribute transactions across applications, to distribute transactions only within the master index application, or to not use distributed transactions at all. You can define transactional support by using the Configuration Editor or by modifying the XML file directly. When you define transactional support for the master index, make sure to use the appropriate transaction properties for the database connection in the Sun Java System Admin Console.

ProcedureTo Configure the Master Index for Local Transactions

  1. In the Projects window, right-click the Configuration node in the project you want to modify, and then click Edit.

    The Configuration Editor appears.

  2. Click the Deployment tab.

  3. In the Transaction Mode field, select LOCAL.

  4. On the Configuration Editor toolbar, click Save.

  5. To configure the database connection, launch the application service Admin Console, and do one of the following:

    • If the database connection is already defined, do the following on the Admin Console:

      1. In the left frame, expand Resources > JDBC > Connection Pools.

      2. Select the database connection pool that is defined for your master index application.

      3. On the Edit Connection Pool page, select either javax.sql.DataSource or javax.sql.ConnectionPoolDataSource for the Resource Type and click Save.

    • If the database connection is not already defined, follow the instructions provided in Defining the Database Connection Pools in Developing Sun Master Indexes . Select either javax.sql.DataSource or javax.sql.ConnectionPoolDataSource for the connection pool Resource Type.

ProcedureTo Configure the Master Index to Distributed Transactions Across Applications

  1. In the Projects window, right-click the Configuration node in the project you want to modify, and then click Edit.

    The Configuration Editor appears.

  2. Click the Deployment tab.

  3. In the Transaction Mode field, select XA (across applications).

  4. On the Configuration Editor toolbar, click Save.

  5. Launch the application server Admin Console (from NetBeans, click the Services tab, expand Servers, right-click the domain, and select View Admin Console).

  6. To configure the database connection, launch the application service Admin Console, and do one of the following:

    • If the database connection is already defined, do the following on the Admin Console:

      1. In the left frame, expand Resources > JDBC > Connection Pools.

      2. Select the database connection pool that is defined for your master index application.

      3. On the Edit Connection Pool page, select javax.sql.XADataSource for the Resource Type and click Save.

    • If the database connection is not already defined, follow the instructions provided in Defining the Database Connection Pools in Developing Sun Master Indexes . Select javax.sql.XADataSource for the Resource Type.

ProcedureTo Configure the Master Index for Distributed Transactions Within the Master Index Application Only

  1. In the Projects window, right-click the Configuration node in the project you want to modify, and then click Edit.

    The Configuration Editor appears.

  2. Click the Deployment tab.

  3. In the Transaction Mode field, select XA (within application only).

  4. On the Configuration Editor toolbar, click Save.

  5. To configure the database connection, launch the application server Admin Console and do one of the following:

    • If the database connection is already defined, do the following on the Admin Console:

      1. In the left frame, expand Resources > JDBC > Connection Pools.

      2. Select the database connection pool that is defined for your master index application.

      3. On the Edit Connection Pool page, select javax.sql.XADataSource for the Resource Type and click Save.

    • If the database connection is not already defined, follow the instructions provided in Defining the Database Connection Pools in Developing Sun Master Indexes . Select javax.sql.XADataSource for the Resource Type.