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.
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.
In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.
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> |
Save and close the file.
In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.
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> |
Save and close the file.
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.
In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.
In the MasterControllerConfig element, change the value of the update-mode element to Pessimistic.
For example:
<update-mode>Pessimistic</update-mode> |
Save and close the file.
In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.
In the MasterControllerConfig element, change the value of the update-mode element to Optimistic.
For example:
<update-mode>Optimistic</update-mode> |
Save and close the file.
The merged-record-update element allows you to define whether updates can be made to records with a status of Merged.
In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.
In the MasterControllerConfig element, change the value of the merged-record-update element to Enabled.
For example:
<merged-record-update>Enabled</merged-record-update> |
Save and close the file.
In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.
In the MasterControllerConfig element, change the value of the merged-record-update element to Disabled.
For example:
<merged-record-update>Disabled</merged-record-update> |
Save and close the file.
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.
Modifying the blocking query once your system is in production is not recommended because it can cause issues with data integrity.
In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.
Scroll to the execute-match element in the MasterControllerConfig element.
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> |
Make sure the name you specify exactly matches the name of one of the blocking queries defined in query.xml.
Set the blocking query options, as described in Setting Master Index Blocking Query Options.
Save and close the file.
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.
In the Projects window, expand the Configuration node in the project you want to modify, and then double-click master.xml.
Scroll to the execute-match element.
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"/> |
Save and close the file.
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.
In the Projects window, right-click the Configuration node in the project you want to modify, and then click Edit.
The Configuration Editor appears.
Click the Deployment tab.
In the Transaction Mode field, select LOCAL.
On the Configuration Editor toolbar, click Save.
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:
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.
In the Projects window, right-click the Configuration node in the project you want to modify, and then click Edit.
The Configuration Editor appears.
Click the Deployment tab.
In the Transaction Mode field, select XA (across applications).
On the Configuration Editor toolbar, click Save.
Launch the application server Admin Console (from NetBeans, click the Services tab, expand Servers, right-click the domain, and select View Admin Console).
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:
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.
In the Projects window, right-click the Configuration node in the project you want to modify, and then click Edit.
The Configuration Editor appears.
Click the Deployment tab.
In the Transaction Mode field, select XA (within application only).
On the Configuration Editor toolbar, click Save.
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:
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.