Custom Processing Settings Query

CPS service provides CustomProcessingSettingsQuery that communicates with DPS either directly or through connectors. To use this query, the following Maven dependency should be added:

<dependency>
    <groupId>com.iconsolutions.ipf.cps</groupId>
    <artifactId>cps-client-port</artifactId>
    <version>${custom-processing-settings.version}</version>
</dependency>

DPS Direct Configuration

In order to communicate with DPS directly, the following configuration should be set up:

ipf.dps-api.client-type = direct

Everything else is provided out of the box and no additional property configuration is needed.

DPS Connector Configuration

In order to set up the connectors, we should have the following configuration:

ipf.dps-api.client-type = connector

DPS v2 transport configuration:

ipf.dps-api {
  client-type = "connector"
  http.client {
    host = "localhost"
    endpoint-url = "/settings-objects/"
    port = 8080
  }
}

DPS Connector configuration is set up to use default connector config and can be overridden for each connector:

ipf.dps-api {
    connector {
        search-setting = ${ipf.dps-api.default-connector}
        search-ids-setting = ${ipf.dps-api.default-connector}
        search-request-setting = ${ipf.dps-api.default-connector}
        delete-setting = ${ipf.dps-api.default-connector}
        get-scheduled-settings = ${ipf.dps-api.default-connector}
        get-scheduled-setting = ${ipf.dps-api.default-connector}
        delete-scheduled-setting = ${ipf.dps-api.default-connector}
        update-scheduled-setting = ${ipf.dps-api.default-connector}
        create-setting = ${ipf.dps-api.default-connector}
        update-setting = ${ipf.dps-api.default-connector}
        get-setting = ${ipf.dps-api.default-connector}
        setting-schemas = ${ipf.dps-api.default-connector}
        history-settings = ${ipf.dps-api.default-connector}
        approve-settings = ${ipf.dps-api.default-connector}
        get-approvals-setting = ${ipf.dps-api.default-connector}
        get-approval-setting = ${ipf.dps-api.default-connector}
        reject-setting = ${ipf.dps-api.default-connector}
    }

    default-connector {
        resiliency-settings {
          # Determines the maximum number of retries to be made. Note that this includes the first failed attempt.
          max-attempts = 2
          # Retry if HTTP error code is in the list
          retryable-status-codes = [500, 503]
          # Determines the minimum number of calls (within a sliding window period) that need to be made before the circuit breaker can calculate the error rate to determine the transport health.
          minimum-number-of-calls = 10
        }
    }
}

Please refer DPS v2 Client Library for more information regarding DPS v2 connectors and their set-up.