After setting the properties Redeploy (restart) the application, is MANDATORY!
When using IntegrationAPI project as a library, the setup.properties file is configurable in the Technical Settings-> System page.
-
mandatory property with a String value:
-
URL where is exposed the private API to call. If they are internal exposed for example: integrationlayer.privateapi.url=http://localhost:8080/yourContext/api
-
integrationlayer.privateapi.url
There is an issue with the WAF rule EC2MetaDataSSRF_BODY when manually adding "localhost" within the data body, so preferable avoid to use it.
-
optional properties :
|
Property |
Type |
Default value |
Values |
|---|---|---|---|
|
integrationlayer.privateapi.connection.timeout |
int (seconds) |
15 |
|
|
integrationlayer.privateapi.response.timeout |
int (seconds) |
50 |
|
|
integrationlayer.privateapi.read.timeout |
int (seconds) |
30 |
|
|
integrationlayer.privateapi.write.timeout |
int (seconds) |
5 |
|
|
integrationlayer.privateapi.error.url.printable |
boolean |
true |
|
|
integrationlayer.privateapi.logging.webclient.tracing.enable |
boolean |
false |
|
|
integrationlayer.privateapi.logging.webclient.console.enable |
boolean |
false |
|
|
integrationlayer.privateapi.logging.webclient.console.show-header |
boolean |
false |
|
|
integrationlayer.privateapi.logging.webclient.console.show-header-authorization |
boolean |
false |
|
|
integrationlayer.privateapi.logging.webclient.console.show-body |
boolean |
false |
|
|
integrationlayer.privateapi.pool.max-idle-time |
int (seconds) |
30 |
|
|
integrationlayer.privateapi.pool.max-life-time |
int (seconds) |
60 |
|
|
integrationlayer.privateapi.pool.evict-in-background |
int (seconds) |
30 |
|
|
integrationlayer.field-mapper.strategy |
string |
BeanUtils |
BeanUtils CachedM2Mapper M2Mapper |
|
integrationlayer.async.processing.global.property-autoconfigure.enabled |
boolean |
false |
|
|
integrationlayer.global-cache.enabled |
boolean |
false |
|
|
integrationlayer.global-cache.default.ttl |
string |
|
|
|
integrationlayer.global-cache.default.max-size |
int |
|
ISO-8601 duration. for example PT2H |
|
integrationlayer.integration-api.redis.instance |
string |
|
|
|
integrationlayer.header-propagation.headers |
string |
|
List of strings separated by a comma (“,”) |
Global cache setup.property example for apis
# Global cache
# Per-API configuration
integrationlayer.global-cache.apis.[/configurations/system-settings/r1/external-systems/{externalSystemId}].enabled=true
integrationlayer.global-cache.apis.[/configurations/system-settings/r1/external-systems/{externalSystemId}].ttl-minutes=PT1H
integrationlayer.global-cache.apis.[/configurations/system-settings/r1/external-systems/{externalSystemId}].max-size=800
Application yml example for private api cache enabled:
integration-api:
global-cache:
enabled: true
apis:
# Asset Services
"[/assets/r1/status]":
ttl: PT2H
max-size: 500
enabled: true
"[/assets/r1/status/{assetStatusId}]":
ttl: PT2H
max-size: 500
enabled: true
"[/assets/r1/types]":
ttl: PT2H
max-size: 500
enabled: true
"[/assets/r1/types/{typeId}]":
ttl: PT2H
max-size: 500
enabled: true
"[/assets/accounts/r1/contact-types]":
ttl: PT24H
max-size: 1000
enabled: true
"[/assets/accounts/r1/contact-types/{contactTypeId}]":
ttl: PT30M
max-size: 1000
enabled: true
"[/assets/accounts/r1/converter-types]":
ttl: PT2H
max-size: 500
enabled: true
"[/assets/accounts/r1/meter-brands]":
ttl: PT2H
max-size: 500
enabled: true
"[/assets/accounts/r1/meter-classes]":
ttl: PT2H
max-size: 500
enabled: true
"[/assets/accounts/r1/meter-locations]":
ttl: PT2H
max-size: 500
enabled: true
"[/assets/accounts/r1/meter-types]":
ttl: PT2H
max-size: 500
enabled: true
"[/assets/accounts/r1/types]":
ttl: PT2H
max-size: 500
enabled: true
"[/assets/accounts/r1/types/{accountTypeId}]":
ttl: PT2H
max-size: 500
enabled: true
# Configuration Services
"[/configurations/characteristics/r1/class-types]":
ttl: PT24H
max-size: 1000
enabled: true
"[/configurations/characteristics/r1/usage]":
ttl: PT24H
max-size: 1000
enabled: true
"[/configurations/properties/r1/tenant]":
ttl: PT24H
max-size: 1000
enabled: true
"[/configurations/system-settings/r1/data-types]":
ttl: PT24H
max-size: 1000
enabled: true
"[/configurations/system-settings/r1/external-systems]":
ttl: PT1H
max-size: 500
enabled: true
"[/configurations/system-settings/r1/external-systems/{externalSystemId}]":
ttl: PT1H
max-size: 500
enabled: true
"[/configurations/system-settings/r1/measurement-units]":
ttl: PT24H
max-size: 1000
enabled: true
"[/configurations/system-settings/r1/public-holidays]":
ttl: PT2H
max-size: 500
enabled: true
# Material Services
"[/inventory/materials/r1/classes]":
ttl: PT2H
max-size: 500
enabled: true
"[/inventory/materials/r1/goods-groups]":
ttl: PT2H
max-size: 500
enabled: true
"[/inventory/materials/r1/items]":
ttl: PT2H
max-size: 500
enabled: true
"[/inventory/materials/r1/management-types]":
ttl: PT24H
max-size: 1000
enabled: true
"[/inventory/materials/r1/types]":
ttl: PT24H
max-size: 1000
enabled: true
# Scheduling Services
"[/scheduling/r1/clocking-types]":
ttl: PT24H
max-size: 1000
enabled: true
"[/scheduling/r1/transfer-time-type]":
ttl: PT24H
max-size: 1000
enabled: true
# Workforce Calendar Services
"[/workforce/calendars/r1/availability-types]":
ttl: PT24H
max-size: 1000
enabled: true
# Territory Services
"[/territory/locations/r1/countries]":
ttl: PT24H
max-size: 1000
enabled: true
"[/territory/locations/r1/districts]":
ttl: PT24H
max-size: 1000
enabled: true
# Workforce Resource Services
"[/workforce/resources/r1/resource-types]":
ttl: PT2H
max-size: 500
enabled: true
"[/workforce/skills/r1/levels]":
ttl: PT24H
max-size: 1000
enabled: true
"[/workforce/skills/r1/skills]":
ttl: PT2H
max-size: 500
enabled: true
"[/workforce/teams/r1/team-cardinalities]":
ttl: PT24H
max-size: 1000
enabled: true
"[/workforce/teams/r1/team-cardinalities/{teamCardinalityId}]":
ttl: PT24H
max-size: 1000
enabled: true
# Work Order Services
"[/work-orders/execution/r1/encoded-notes]":
ttl: PT2H
max-size: 500
enabled: true
"[/work-orders/execution/r1/outcome-reasons]":
ttl: PT2H
max-size: 500
enabled: true
"[/work-orders/r1/operation-status]":
ttl: PT24H
max-size: 1000
enabled: true
"[/work-orders/r1/operation-types]":
ttl: PT30M
max-size: 500
enabled: true
"[/work-orders/r1/request-types]":
ttl: PT30M
max-size: 500
enabled: true
"[/work-orders/r1/service-types]":
ttl: PT30M
max-size: 500
enabled: true
"[/work-orders/r1/status]":
ttl: PT24H
max-size: 1000
enabled: true
"[/work-orders/r1/status/{statusId}]":
ttl: PT24H
max-size: 1000
enabled: true
"[/work-orders/r1/types]":
ttl: PT30M
max-size: 500
enabled: true
"[/work-orders/r1/types/{typeId}]":
ttl: PT30M
max-size: 500
enabled: true
"[/work-orders/r1/urgencies]":
ttl: PT30M
max-size: 500
enabled: true
"[/work-orders/r1/urgencies/{urgencyId}]":
ttl: PT30M
max-size: 500
enabled: true
"[/work-orders/r1/work-cycles]":
ttl: PT30M
max-size: 500
enabled: true