Configuring the runtime adapter properties
The following properties must be configured for the IBM Sterling Fulfillment Optimizer with Watson runtime adapter to correctly transfer order data from your order management system to Fulfillment Optimizer.
Note: Contact your IBM Representative to get the credentials for configuring the properties of
runtime adapter.
- Extract the runtime adapter that you downloaded from Fix Central.
- Check whether the existing location is
/<location>/otmz.webclient.properties
. - Back up the existing file.
- Edit the
otmz.webclient.properties
file as outlined below.
Property | Value | Description |
---|---|---|
Tenant details | ||
optimizer.tenant.id |
Tenant ID is given to you by your IBM representative. | Each customer has an individual tenant ID. To obtain the tenant ID for Optimizer service tenant Id, contact your IBM representative. |
com.ibm.commerce.oauth.client_id |
Client ID is the username that is given to you by your IBM representative. | clientid for oauth2 |
com.ibm.commerce.oauth.client_secret |
Client secret is the password that is given to you by your IBM representative. | Secret for oauth2 |
URLs and endpoints | ||
optimizer.service.uri |
https://api.watsoncommerce.ibm.com/optimizer/ |
Do not edit. |
optimizer.service.endpoint |
/v2/order/optimization | Do not edit. |
rank.service.endpoint |
/v1/order/nodes/rank | Do not edit. |
HTTP connection properties Tip: Default values can
be used, or modified based on requirements.
|
||
otmz.http.conn.pool.max.size
|
The default value for the maximum connection pool size is 50 but can be tested for each instance for performance and set to any number. | The connection pool property maintains a pool of connections and can process connection requests from multiple execution threads. The runtime adapter initiates an internal HTTP pool and it calls the service. |
otmz.http.conn.pool.max.size.perRoute |
The default value for this property is 40 but can be tested for each instance and set to another number. | The connection pool maintains a maximum limit of connections per route. If a request is created, and a new request of the same type is received, the connection pool uses the existing connection rather than creating a new connection. |
otmz.http.conn.timeout.ms |
By default, the value for this property is set to 5000. | Sets the time (in milliseconds) limit after which the HTTP request times out. |
otmz.http.conn.pool.request.timeout.ms |
By default, the value for this property is set to 5000. | Sets the time (in milliseconds) limit after which the request for connection from the connection pool times out. |
Circuit Breaker Tip: Default values can be used,
or modified based on requirements.
|
||
otmz.useCircuitBreaker |
Y |
Enables circuit breaker |
otmz.circuit.slidingWindowSize |
The default value for this property is set to 100 but can be tested for each instance and set to another number. | Configures the size of the sliding window, which is used to record the outcome of calls when the CircuitBreaker is closed. |
otmz.circuit.requestVolumeThreshold |
The default value for this property is set to 50 but can be tested for each instance and set to another number. | Configures the minimum number of calls, which are required per sliding window period before the CircuitBreaker can calculate the error rate or slow call rate. |
otmz.circuit.requestHalfOpenStateThreshold |
The default value for this property is set to 10 but can be tested for each instance and set to another number. | Configures the number of permitted calls when the CircuitBreaker is half open. |
otmz.circuit.errorPercentage |
The default value for this property is set to 50 but can be tested for each instance and set to another number. |
Configures the failure rate threshold in percentage. When the failure rate is equal or greater than the threshold the CircuitBreaker transitions to open and starts short-circuiting calls. |
otmz.circuit.slowRate |
The default value for this property is set to 100 but can be tested for each instance and set to another number. |
Configures a threshold in percentage. The CircuitBreaker considers a call as slow
when the call duration is greater than When the percentage of slow calls is equal or greater the threshold, the CircuitBreaker transitions to open and starts short-circuiting calls. |
otmz.circuit.slowDuration.ms |
The default value for this property is set to 5000 but can be tested for each instance and set to another number. | Configures the duration threshold above which calls are considered as slow and increase the rate of slow calls. |
otmz.circuit.waitOpenDuration.ms |
The default value for this property is set to 5000 but can be tested for each instance and set to another number. | The time that the CircuitBreaker should wait before transitioning from open to half-open. |
otmz.circuit.durationHalfOpenState.ms |
The default value for this property is set to 100 but can be tested for each instance and set to another number. | Configures a maximum wait duration, which controls the longest amount of time a CircuitBreaker might stay in half-open state before it switches to open. |