Esta página no está disponible actualmente en Español. Si lo necesita, póngase en contacto con el servicio de asistencia de Icon (correo electrónico)

Client Library

Client module which invokes Custom Processing Settings should import cps-client-port and use CustomProcessingSettingsClientPort provided interface to invoke CPS service logic.

Following Maven dependency should be added:

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

Custom Processing Settings currently supports connector implementation of client port interfaces.

Following Maven dependency should be added:

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

How to configure client library

As mentioned, client implementation supports HTTP connector transport. HTTP client configuration:

ipf.custom-processing-settings-api {
  http.client {
    host = "localhost"
    port = "8080"
  }
}

The default connector configuration can be overridden. The provided configuration:

ipf.custom-processing-settings-api {
  connector {
    get-custom-processing-settings = ${ipf.custom-processing-settings-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
    }
  }
}

CustomProcessingSettingsClientConnector

Example of how to use this connector:

GetCustomProcessingSettingsCriteria getCustomProcessingSettingsCriteria = GetCustomProcessingSettingsCriteria.builder()
                .processingEntity("001")
                .settingCategories(List.of("InitiationSettings", "ExecutionSettings"))
                .settingName("paymentTypes")
                .build();
 CompletionStage<Response<CustomProcessingSettingsResponseDto>> response = customProcessingSettingsClientPort.getCustomProcessingSettings(processingContext, supportingContext, getCustomProcessingSettingsCriteria);