Configuring item level duplicate detection
Configure Duplicate Detect to perform item level duplicate detection. As part of this process, configure the Gateway to remove outgoing return items from the inbound namespace. The scenario is an inbound ICL was received from bank A. On receipt of the file, perform duplicate checking on those inbound items (using a Transaction Server configuration). One or more of the items from the incoming ICL is returned to bank A. When the item is returned, remove the item from the incoming namespace so if bank A sends the item back, it is not flagged as a duplicate item the second time it is received.
The Gateway uses the duplicate detection API to send data to the Duplicate Detect engine. Copy the izhapi.jar file from the Duplicate Detect installation location into a folder on the Gateway Server and add the izhapi.jar file to the classpath.
All input to the Duplicate Detect engine is done with WebSphere® MQ messages. The following parameters are used to configure the WebSphere MQ parameters necessary to deliver the message to the Duplicate Detect engine and to receive a reply.
| Keyword | Values/Examples | Default Value | Description |
|---|---|---|---|
| enableDupRemovalOutgoingReturnItems | true, false | false | Enables the Gateway to send the outgoing return items to the Duplicate Detect engine. The Duplicate Detect engine removes the items from the incoming namespace database. |
| duplicateDetectUserClass | com.ibm.icpcs.gatewayserver.samples.dup.SampleDupDetect | none | Fully qualified Java™ class name of the user exit for modifying data before it is sent to Duplicate Detect. Allows the user to add, delete, or modify fields sent to Duplicate Detect. For more information, see Duplicate Detect User Exit. |
| dupWaitTime | 0 - 3600000 | 30000 | The number of milliseconds to wait for a response from the Duplicate Detect engine. If this time is exceeded, the message is still left on the queue for the Duplicate Detect engine but Gateway processing continues. |
| dupInNamespace | DUP_PAYMENT | none | The name of the Namespace defined in the Duplicate Detect server for incoming payments. |
| dupUseJNDI | true, false | false | Controls the use of JNDI lookup. If set to true, JNDI lookup is used to get a ConnectionFactory object and a Queue object. If set to false, straight WebSphere MQ (JMS) calls are used to get a connection. If using JNDI, the dupJndi properties must be set. If not using JNDI, the dupJms properties must be set. |
| dupJndiURL | iiop://servername:12345 | iiop://localhost:59814 | The URL for the JNDI provider. |
| dupJndiInitialContext | com.sun.jndi.cosnaming.CNCtxFactory | com.ibm.websphere.naming.WsnInitialContextFactory | The name of the initial context factory to be used to create the initial context used for JNDI lookups. Refer to the documentation for the associated JNDI provider. |
| dupJndiConnectionFactory | jms/izhjmscf | None | The name of the ConnectionFactory object created in the JNDI name space. |
| dupJndiInSendQueue | jms/izhinboundq | None | The name of the queue object created in the JNDI name space to receive messages intended for the Duplicate Detect engine. |
| dupJndiInReplyQueue | jms/izhreplyq | None | The name of the queue object created in the JNDI name space to receive reply messages from the Duplicate Detect engine to the Gateway. |
| dupJmsQmgrName | FTM.QMANAGER | None | The name of the WebSphere MQ queue manager |
| dupJmsUserId | Userid | None | The user ID used to access the WebSphere MQ queue manager and queue. The user ID is only required if the definition of queue requires a user ID and password to access it. |
| dupJmsPassword | Password | None | The password used to access the WebSphere MQ queue manager and queue. The password is only required if the definition of queue requires a user ID and password to access it. |
| dupJmsInSendQueue | FXH.DUPLICATEDETECT.INPUT.QUEUE | None | The name of the WebSphere MQ queue where the Duplicate Detect messages are sent. |
| dupJmsInReplyQueue | FXH.GATEWAY.DUPLICATEDETECT.REPLY.QUEUE | None | The name of the WebSphere MQ queue where reply messages from the Duplicate Detect engine are received. |
| dupJmsKeyStore | c:/keys/mqkey.jks | None | The fully qualified name of the file containing the key store. |
| dupJmsKeyStorePassword | password | None | The password used to access the key store. |
| dupJmsTrustStore | c:/keys/mqkey.jks | None | The fully qualified name of the file containing the trust store. |
Configuring the client channel definition table (CCDT) file to connect to IBM MQ
- The channel name.
- Client-connection-related parameters such as the host name, port number, and the queueManager name.
- Transmission security parameters such as the cipherSpecification.
Add your values for IBM MQ to the ftm-mq-<ftm-instance>-ccdt-config configmap in Red Hat®
OpenShift®. The FTM operator
uses the contents of this configmap to update the mq-ccdt.json file.