Configure Oracle Health Insurance Product Definition properties file

The ohi-proddef.properties file holds a list of properties that impact the behavior of the system. It provides the system with timeout values, url addresses, processing settings, and many other properties used during operation.

A new Oracle Health Insurance Product Definition release may deliver a changed version of the ohi-proddef.properties file.

The following tables describe the properties that are can be set in the properties file. The property names are formatted for readability, note that the property names and associated values should always be specified on one line in the properties file.

Name Description Default Value Possible Values Change Effective

ohi.properties.file.
poll.interval

Changes made to any of these properties are not immediately picked up by the application. That only happens when it reads the properties-file again. This property specifies how often the system will read the file, in minutes. Default value, every 10 minutes. Minimum value, 1 minute. Values lower than that are ignored, meaning the default value is used.

10

Integer > 0

Next Execution

Base View Generator

Name Description Default Value Possible Values Change Effective

ohi.baseview.generation.
worker.count

The number of worker threads to start for a base view generation process

8

Integer ≥ 1

Immediate

Dynamic Logic

Name Description Default Value Possible Values Change Effective

ohi.dynamiclogic.
classes.directory

Path to directory in which the system generated Dynamic Logic classes are placed.

/tmp

String

Next Execution

ohi.dynamiclogic.
startup.compile

An optional property that determines whether to compile the dynamic logic (those who are not compiled before) at start-up of the application or not.

true

Boolean

Next Execution

ohi.dynamiclogic.timeout

An optional property that determines the timeout of a running dynamic logic. If the timeout is expired, the dynamic logic is interrupted and an exception is thrown. The value is in seconds. Please note that when the dynamic logic timeout property is added/updated, the dynamic logic(s) need to be recompiled for the property change to take effect. This can be done by using the Invalidate Dynamic Logic Integration Point explained Integration Guide.

300

Integer ≥ 0

Next Execution

ohi.dynamiclogic.
timeout.<0>

An optional property that determines the timeout of the running dynamic logic. If the timeout is expired, the dynamic logic is interrupted and an exception is thrown. The value is in seconds. This property is keyed on the particular dynamic logic code, therefore the placeholder <0> should be replacedwith the dynamic logic code. Please note that when the dynamic logic timeout property is added/updated, the dynamic logic(s) need to be recompiled for the property change to take effect. This can be done by using the Invalidate Dynamic Logic Integration Point explained Integration Guide. If this property is not set, the value of 'ohi.dynamiclogic.timeout' will be taken (which in its turn has a default of '300').

Integer ≥ 0

Next Execution

Logging Support

Name Description Default Value Possible Values Change Effective

ohi.logging.fileset.max.
timespan

Maximum time in days between start and end time for bundling log events in a file set

2

Integer ≥ 1

Immediate

ohi.logging.phi.min.
retentionperiod

Minimal number of days for retaining PHI log events

1825

Integer ≥ 1

Immediate

ohi.logging.target

Determines whether logging must be persisted to the database or using any configured Logback Appender. Possible values are 'database' and 'log' respectively

log

String

Next Execution

Incident Reports

Name Description Default Value Possible Values Change Effective

ohi.incident.
datafileset.
retentionperiod

Whenever OHI Incident storage in datafile sets is activated, this property defines the number of days that OHI Incident datafile sets are retained. Older OHI Incident datafile sets are removed.

10

Integer ≥ 1

After Restart

ohi.incident.rootdir

OHI Components makes use of the Logback library for generating log output. In the event of an unanticipated application exception, additional - more detailed exception trace information is written out to an individual exception trace file. The location for these exception trace files is controlled by this property. By default the location 'target/trace' relative to the directory where the WebLogic server was started is used. When changing the value for this property, make sure that the OS user that executes the WebLogic server processes needs to be able to create (and read/write files in) the directory referenced by the property.

target/trace

String

After Restart

ohi.incident.target

OHI Incident files can be stored in the database, in a datafile set. Whenever this property is set to "datafileset" this feature is activated. Otherwise the default mechanism of writing incident files to an O/S file system directory. The OHI Incident datafile sets will have a code with a following pattern: "OHIIncidents<yyyyMMdd>"

file

"file" or "datafileset"

After Restart

Cache Control

Name Description Default Value Possible Values Change Effective

ohi.httpapi.cache.
control.cachesetting.
metadata

Setting to be used for metadata, code of a OHI_RESOURCE_CACHE_SETTING, see ohi.httpapi.cache.control.enable.

String

Next Execution

ohi.httpapi.cache.
control.enable

Property to enable HTTP API Caching, which is disabled by default. When enabled, HTTP API will add a Cache-Control header in the response it sends.

false

Boolean

Next Execution

ohi.messagegroup.
cachesize

Used as an initial sizing element for the amount of message groups that can be cached

1000

Integer ≥ 1

Next Execution

ohi.process.cache.
disabled

This property can be used to determine whether business process cache facilities are enabled.

false

Boolean

Next Execution

ohi.process.cache.push_
wait

The time in milliseconds to back-off invalidating the business process cache for consecutive bursts of invalidations.

250

Integer ≥ 0

After Restart

Web Service Settings

Name Description Default Value Possible Values Change Effective

ohi.ws.client.
retrytimeout

MANDATORY
The time in milliseconds that the system will wait before another attempt is made to access a failing service. A value of 0 means no timeout before retrying.

1000

Integer ≥ 0

After Restart

ohi.ws.fileimport.
filesrootdirectory

MANDATORY
Directory paths used for File Import will be prepended with the given root directory. This is for security reasons, it ensures that files are stored in a specific area only.

String

Next Execution

ohi.service.<0>.client.
authentication

Used to specify the (Jersey/REST specific) authentication mechanism to use for machine-to-machine communication. Allowable values are 'None', 'BasicAuthentication' (and 'OAuth'). The <0> is replaced by notification key.

BasicAuthentication

String

Next Execution

ohi.service.<0>.media.
type

Used for the notification media type. <0> is replaced by notification key.

application/json

String

Next Execution

ohi.service.<0>.method.
type

Used for the notification method type. The <0> is replaced by notification key.

POST

String

Next Execution

ohi.ws.api.default.
pagesize

Number of items fetched in a HTTP API request.

50

Integer ≥ 1

Next Execution

ohi.ws.client.
connectiontimeout

The time in milliseconds before the attempt to connect to an outbound service times out. A value of 0 means never timeout.

60000

Integer ≥ 0

Immediate

ohi.ws.client.
maxconnectionsperhost

The maximum number of concurrent connections the HTTP client will allow to a certain host at any given moment.

2

Integer ≥ 1

Immediate

ohi.ws.client.
maxtotalconnections

Sets the maximum number of total concurrent connections the HTTP client will allow at any given moment.

20

Integer ≥ value of ohi.
ws.client.
maxconnectionsperhost

Immediate

ohi.ws.client.
readtimeout

The time in milliseconds that the client will wait for the server to respond to the request. A value of 0 means never timeout.

60000

Integer ≥ 0

Immediate

ohi.ws.last.login.
update.threshold

The number of hours that need to pass between logins before updating the user’s last login timestamp. By default, the last login timestamp will not be updated more than once per hour. This only applies to logins through a web service, not the ADF UI.

1

Integer ≥ 1

Next Execution

Web Service Client Authentication

Outbound RESTful invocations can be secured using Basic Authentication or OAuth2. For details, refer to the relevant chapter in the Integration Guide. Each client needs to be configured separately. The applicable properties all follow the same naming convention: ohi.service.<service>.client.authentication. The default value is "BasicAuthentication". The placeholder is the name of the client. OHI defined client names are listed in the following table:

Web Service Client Name Relevant properties

Activity Notification

ActivityResponseClient

ohi.service.ActivityResponseClient.client.authentication

Data Exchange Export Notification

DataExchangeExportNotificationClient

ohi.service.DataExchangeExportNotificationClient. client.authentication

Data Exchange Import Notification

DataExchangeImportNotificationClient

ohi.service.DataExchangeImportNotificationClient. client.authentication

Data Set Operations

DataExchangeClient

ohi.service.DataExchangeClient.client.authentication

Note that defining the property for the authentication mechanism needs to be done in conjunction with defining the credentials that the web service client will use when making the request. How to enter credentials is also outlined in the Integration Guide.

Web Service Media Type

Certain outbound RESTFul invocation support multiple output formats (i.e. XML or JSON). This can be configured via the media type property. If unspecified, the default value is "application/json". The property name follows the naming convention: ohi.service.<service>.media.type. The placeholder is the name of the client. The names of the clients that support a configurable media type are listed in the following table:

Web Service Client Name Relevant properties

Activity Notification

ActivityResponseClient

ohi.service.ActivityResponseClient.media.type

URL references

In HTTP API RESTful services links, URL references may be passed. Construction of the URL for these pages is driven by the following parameters:

Name Description Default Value Possible Values Change Effective

ohi.<0>.application.
baseurl

MANDATORY
The base URL for accessing the application, typically includes the machine or loadbalancer, the domain and a port number. These are mandatory to set to have correct links in the response or location header. Placeholder <0> should be replaced with the application name. It is possible to overwrite the behaviour using a custom header in requests: X-OHI-OBEY-HOST. * If this header is present with value true, the links would be created from the request url itself* If the header is not present or the value is false, the links would be created with the help of the properties. For all asynchronous responses, notifications, containing links, the properties would be used as was always done. Example of the value is http://localhost:7001.

String

After Restart

ohi.<0>.deeplink.url

MANDATORY
The base URL of an application used only in ADF deep linking URL formation. It includes the machine or load balancer, the domain and a port number. This is mandatory to set to have correct link in deep linking URL. Placeholder <0> should be replaced with the application name. Example of the value is http://localhost:7001.

String

After Restart

ohi.http.api.path

The context root of the application. For example: /<application>-ws/api. We do not anticipate for this property to be hot reloadable.

api

String

Next Execution

Before sending URI’s out, the system will encode these. The receiving system is expected to decode the URI.

Task and Activity Processing

Name Description Default Value Possible Values Change Effective

ohi.activityprocessing.
notification.endpoint

RESTful Service endpoint URL for delivering the response notification after activity processing is completed.OHI Components applications will use a POST operation by default. This can be overwritten by using ohi.service.<0>.method.type, where <0> should be replaced with notification key.

String,
Sample value is http://machine:port/api/generic_
notification_
service

Next Execution

ohi.activityprocessing.
notification.endpoint.
<0>

Activity type specific RESTful Service endpoint URL for delivering the response notification once activity processing is completed. The <0> should be replaced with the activity type code, for example 'REFSHEETLINE_IMPORT'. When this property is not set, the value of ohi.activityprocessing.notification.endpoint will be used. OHI Components applications will use a POST operation by default. This can be overwritten by using ohi.service.<0>.method.type, where <0> should be replaced with notification key.

String,
Sample value is http://machine:port/api/generic_
notification_
service

Next Execution

ohi.amount.scale

By default, amounts are stored with scale 2 (2 digits after decimal point).A subset of amounts allow for a higher scale. For example the premium amounts in calculation results allow up to 12 digits after the decimal point. How many of those additional digits are actually used depends on this property. Can be used to store calculation result amounts with greater scale. Increase of scale allows for sending financial data on a detail level (e.g. VAT on a premium for a member) to the financial system and round only after aggregation (e.g. on a group account); rounding in an early stage to 2 decimals can lead to a substantial difference with the expected outcome on an aggregate level.

2

2 ≤ Integer ≤ 12.

Next Execution

ohi.max.headroom

The maximum number of tasks that is to be loaded into the processing grid.

2000

Integer ≥ 1

Next Execution

ohi.max.headroom.<0>

The maximum number of tasks that is to be loaded into the processing grid - per given activity type

2000

Integer ≥ 1

Next Execution

ohi.processing.
attemptLogLevel

A non '0' value for this property means that data (i.e. extra_info) for failed attempts will be retained.

0

Integer ≥ 0

Next Execution

ohi.processing.
bucketsize.SELECT_
EXTRACT_ITEMS

Utilized for extract items bucketing. It decides how many items will be exported in one transaction to improve performance.

500

0 < Integer < 1000

Next Execution

ohi.processing.cache.
flexcodekeyvaluecache.
spec

Specification for cache that caches the results (flex code entity) of queries on flex code by key value and flex code system code. For more information, see CacheBuilderSpec’s javadoc: https://guava.dev/releases/19.0/api/docs/com/google/common/cache/CacheBuilderSpec.html

maximumSize=10000,
softValues,
recordStats

String

Next Execution

ohi.processing.cache.
flexcodesystemcache.spec

Specification for cache that caches the results (flex code system code) of queries on flex code system by id. For more information, see CacheBuilderSpec’s javadoc: https://guava.dev/releases/19.0/api/docs/com/google/common/cache/CacheBuilderSpec.html

maximumSize=1000,
softValues,
recordStats

String

Next Execution

ohi.processing.cache.
ingroup

This property allows for caching of the responses of of the "InGroup" family of function calls.

false

Boolean

Next Execution

ohi.processing.cache.
ingroup.message.spec

Cache for messages in a message group.

maximumSize=1000,
softValues,
recordStats

String

Next Execution

ohi.processing.
defaultdelay

Default amount of delay in seconds used when a failed task is re-enqueued for another attempt. Is overridden if a delay is set on the task type.

3

Integer ≥ 0

Next Execution

ohi.processing.filldepth

Specifies a target number of work items to process at any given time - to best utilize processing capacity. Suggested value is a multiple of the number of CPU cores available to the managed server. The system will take the maximum of 2x the number of processors reported to the JVM and the value of this property (which has in its turn a default of '3').

3

Integer ≥ 0

Next Execution

ohi.processing.
fillthreshhold

Determines the number of tasks that will be submitted for processing at any given time. Suggested value is 1 less than number of CPU cores available to the managed server. The system will take the maximum of the number of processors reported to the JVM minus 1 and the value of this property (which has in its turn a default of '1').

1

Integer ≥ 1

Next Execution

ohi.processing.groupsize

The number of tasks to be grouped (when applicable) into a collection of tasks that is to be put into the processing grid as one atomic unit. This complete collection will be processed on one processing node.

400

Integer ≥ 1

Next Execution

ohi.processing.
groupsize.<0>

The number of tasks to be grouped (when applicable) into a collection of tasks that is to be put into the processing grid as one atomic unit - per activity type. This complete collection will be processed on one processing node.

400

Integer ≥ 1

Next Execution

ohi.processing.
loadercount

The number of loader tasks to be spawned, whenever an activity of that type needs to be processed and has child tasks spawned into the grid. These loaders work concurrently on the set of child tasks that are to be spawned.

1

Integer ≥ 1

Next Execution

ohi.processing.
loadercount.<0>

The number of loader tasks to be spawned for a specific activity type, whenever an activity of that type needs to be processed and has child tasks spawned into the grid. These loaders work concurrently on the set of child tasks that are to be spawned.

1

Integer ≥ 1

Next Execution

ohi.processing.
loaderyield

The time (in seconds) a loader task will be held back in the grid, in the event it has reached its maximum number of tasks it is allowed to load and spawn into the grid.

3

Integer ≥ 1

Next Execution

ohi.processing.
loaderyield.<0>

The time (in seconds) a loader task will be held back in the grid, in the event it has reached its maximum number of tasks it is allowed to load and spawn into the grid - per given activity type.

3

Integer ≥ 1

Next Execution

ohi.processing.max.
numberofretries

The maximum amount of times activity processing will try and sent out an 'activity processed' event to an external system.

3

Integer ≥ 0

Next Execution

ohi.processing.max.
numberofretries.<0>

The maximum amount of times activity processing will try and sent out an 'activity processed' event to an external system - per activity type.

3

Integer ≥ 0

Next Execution

ohi.processing.
maxErrorAttempts

Number of times a task can resolve as 'errored' before it stops a task flow.

3

Integer ≥ 0

Next Execution

ohi.processing.
maxIncompleteAttempts

Determines how many times a specific incomplete task will be rescheduled for processing, before marking it as 'errored'

10000

Integer ≥ 0

Next Execution

ohi.processing.
retryimmediate

Determines if a failed task is retried immediately, or re-enqueued for another attempt after a delay.

true

Boolean

Immediate

ohi.processing.yield.
default

Default time (in seconds) a task will be held back in the processing grid, in between execution steps. This typically is used between parent-child task relationships, where a parent task will has to regularly check on the status of its children.

3

Integer ≥ 1

Next Execution

ohi.processing.yield.
taskcompletion

Used to specify The time (in milliseconds) an (aggregate) task is going to be held back for task loaders to complete their work.

3

Integer ≥ 1

Next Execution

ohi.processing.yield.<0>

Default time (in seconds) a task will be held back in the processing grid, in between execution steps. This typically is used between parent-child task relationships, where a parent task will has to regularly check on the status of its children. - per activity type.

3

Integer ≥ 1

Next Execution

ohi.startup.start.task.
processing

Controls task processing for a managed server. By default, if a managed server that executes an OHI Components application is started then it will start processing tasks from the work backlog queue. The default behavior can be overridden by setting command-line parameter ohi.startup.start.task.processing; if it is set to false a managed server that executes the OHI Components application will not process tasks after it is started. The default value is true, meaning the managed server that executes the OHI Components application will start processing tasks from the work backlog queue after it is started.

true

Boolean

Next Execution

Specifying yields, submission count, group size and loader count per activity type

Oracle Health Insurance Product Definition allows to individually specify some of the aforementioned application properties on a per-activity-type basis. This provides finer grained control of loading and processing semantics. The way to accomplish this is to concatenate the mnemonic for the specific activity type after the specific property key, for example:

ohi.processing.groupsize.REFERENCE_SHEET_IMPORT=250

This mechanism is available for the following properties:

  • ohi.processing.yield.<activity_type>

  • ohi.max.headroom.<activity_type>

  • ohi.processing.groupsize.<activity_type>

  • ohi.processing.loadercount.<activity_type>

  • ohi.processing.loaderyield.<activity_type>

  • ohi.processing.max.numberofretries.<activity_type>

For the mnemonic of individual activity types, check the Implementation Guide.

Reinsurance

Name Description Default Value Possible Values Change Effective

ohi.reinsurance.
aliasCodes

Used to determine whether the application has to create product benefit specification reinsurance entities.

String

Next Execution

ohi.reinsurance.
usageName

Used to determine whether the application has to create product benefit specification reinsurance entities

String

Next Execution

Callout Rules

Name Description Default Value Possible Values Change Effective

ohi.servicecallout.<0>.
url

MANDATORY
The media type to be used for REST call outs for a specific <calloutdefinition_code>. If this property is not set for a specific Callout definition, the system will use the value of 'ohi.servicecallout.media.type' (which in his turn has default value 'application/json')

String

Next Execution

ohi.callout.protocol

Only to be specified when the legacy protocol SOAP is to be used.

REST

REST, SOAP

Next Execution

ohi.rest.client.logging

Enable/Disable logging for rest clients. When "true" will log traffic to external system.

false

Boolean

Immediate

ohi.service.client.
cache.size

The rest client cache size

500

Integer ≥ 1

Immediate

ohi.servicecallout.
media.type

The media type to be used for REST call outs. Can be overriden per call out, see 'ohi.servicecallout.<0>.media.type'.

application/json

String

Next Execution

ohi.servicecallout.<0>.
completeness.interval

Time interval in seconds used by the system to check if a response for the Callout Rule is received. The <0> placeholder should match the calloutdefinition code that is configured for a specific rule. Rule: 1 ≤ completeness.interval ≤ completeness.timeout. This is verified at system startup. If the completeness interval parameter is not specified for a Callout Rule, the system will use the value of 'ohi.servicecallout.<0>.completeness.timeout' (which in his turn has default value '5').

Integer ≥ 1

Next Execution

ohi.servicecallout.<0>.
completeness.timeout

Time interval in seconds used by the system to determine if a response for the Callout Rule is received in time. If a response is not received before the time out period is exceeded, the system raises an error. The <0> placeholder should match the calloutdefinition code that is configured for a specific rule. Rule: completeness.timeout > 1. This property also provides a fallback value when completeness.interval is not set.

5

Integer > 1

Next Execution

ohi.servicecallout.<0>.
media.type

The media type to be used for an individual REST call out, <0> to be replaced with callout definition code. When this property is not set, the value of 'ohi.servicecallout.media.type' will be used.

application/json

String

Next Execution

Data exchange

Name Description Default Value Possible Values Change Effective

ohi.application.uri.<0>

MANDATORY
Reference to URI of the source application to retrieve data-sets metadata to be processed. <0> to be replaced with source application.

String

Next Execution

ohi.cm.concurrency.limit

Number of parallel threads used in configuration migration tool export and import processes. For better performance results, the value of this system property should be equal to the number of CPUs (core). For example, if there are 6 CPUs and each of them are single core, then this property should be set to 6.

2

Integer ≥ 1

After Restart

ohi.cm.
highvolumeentities.
export.page.size

This property is used in the export process and represents the number of high volume entities (for example: procedure group detail) to read in one go/at a time. It is recommended to set this value to N * 1000, where N is the number of JVMs.

1000

Integer ≥ 1

Next Execution

ohi.<0>.endpoint.request

Allows for web service client interactions to identify their request URI destination. This property is used to get the URI for the end point. <0> is replaced by notification key. Sample value is http://machine.domain:port/<0>.

String

Next Execution

Extract

Name Description Default Value Possible Values Change Effective

ohi.extract.<0>.
notification.endpoint

For sending out extract completion notification related to a specific notification key. <0> is replaced by the notification key. Example: http://machine.domain:port/notifications

String

Next Execution

Single Sign-On

The following table lists properties that need to be set when OHI Components application take part in Single Sign-On (SSO) scenarios:

Name Description Default Value Possible Values Change Effective

ohi.security.sso.enabled

The application will check for an SSO header, and if one is not found, present the user with a login screen.

false

Boolean

Next Execution

ohi.security.sso.header

The header value in which to check for an SSO principal if it is not mapped via servlet security.

OAM_REMOTE_USER

String

After Restart

ohi.security.sso.
required

The application will reject traffic without an SSO header.

false

Boolean

Next Execution

Data File Import

The following table lists (technical) properties that influence data file (batch) processing performance. Only change these after consulting with Oracle:

Name Description Default Value Possible Values Change Effective

ohi.
referencesheetimport.
filereader.chunk.size

A separate processing activity is spawned for processing a chunk or batch of reference sheet lines of the specified size.

5000

Integer ≥1

Next Execution

Cross Origin Resource Sharing

See the Security Guide for an introduction to Cross Origin Resource Sharing (CORS). For further explanation the reader is referred to W3C’s CORS specification.

Name Description Default Value Possible Values Change Effective

ohi.cors.access.control.
allow.origin

MANDATORY
Comma-separated list of allowed origins. The value '*' effectively means that all origins are allowed.

String

Next Execution

ohi.cors.access.control.
allow.credentials

Header that indicates whether the response to request can be exposed when the omit credentials flag is unset. When this is part of the response to a preflight request it indicates that the actual request can include user credentials.

true

Boolean

Next Execution

ohi.cors.access.control.
allow.headers

Header that indicates, as part of the response to a preflight request, which header field names can be used during the actual request. Allows all headers by default. The value is a comma-separated list of allowed headers.

String

Next Execution

ohi.cors.access.control.
allow.methods

Header that indicates, as part of the response to a preflight request, which methods can be used during the actual request. Allows all methods by default. The value is a comma-separated list of allowed methods.

String

Next Execution

ohi.cors.access.control.
expose.headers

Header that indicates which headers are safe to expose to the API of a CORS API specification. The value isa comma-separated list of all exposed headers.

String

Next Execution

ohi.cors.access.control.
max.age

Header that indicates how long the results of a preflight request can be cached in a preflight result cache, number representing seconds.

1800

Integer ≥ 0

Next Execution

ohi.vary.header

Property to set Vary HTTP Header. Value is a comma-separated list

Accept,Accept-
Encoding,Accept-
Language,Origin

String

Next Execution

Data Set Operations

Name Description Default Value Possible Values Change Effective

ohi.datasetoperations.
notification.endpoint.
export

This property is related to the Data Set Operations Integration Point, for export usages. It contains a URI that refers to the notification message, this message is sent once the process of building the data set payload is completed.

String

Next Execution

ohi.datasetoperations.
notification.endpoint.
import

This property is related to the Data Set Operations Integration Point, for import usages. It contains a URI that refers to the notification message, this message is sent once the process of uploading the data set payload is completed. Error messages prevent the import from happening.

String

Next Execution

Intrusion Detection

OHI applications safeguard against Cross-Site Scripting (XSS) attacks by checking "untrusted" data that may be entered in HTTP API requests (see the Security Guide for intrusion detection principles). Detection behavior can be customized using the properties that are listed in the following table:

Name Description Default Value Possible Values Change Effective

ohi.untrusteddata.check

XSS vulnerability detection is enabled by default. Disable it by setting the value for this parameter to false. This property should be used if other components in the landscape perform vulnerability detection.

true

Boolean

Next Execution

ohi.untrusteddata.
domain.attribute.length

Domain attributes of type "String" are checked by default if the length ≥ 30 characters. To be more stringent decrease the default value using this property.

30

Integer ≥ 1

Next Execution

ohi.untrusteddata.
whitelist.
domainattribute

Domain attributes are checked by default. Use this property to define a comma-separated list of customer-specific attributes that should be excluded from intrusion detection checking. Format: <DOMAIN OBJECT SIMPLE NAME>.<ATTRIBUTE NAME>,

String

Next Execution

ohi.untrusteddata.
whitelist.httpheader

HTTP Headers are checked by default. Use this property to define a comma-separated list of customer-specific headers that should be excluded from intrusion detection checking. Format: <HEADER NAME>,<HEADER NAME>.

String

Next Execution

ohi.untrusteddata.
whitelist.queryparameter

HTTP Query Parameters are checked by default. Use this property to define a comma-separated list of customer-specific query parameters that should be excluded from intrusion detection checking. Format: <QUERY PARAMETER NAME>,<QUERY PARAMETER NAME>.

String

Next Execution

For example, to prevent mixed encoded Cookies that a client like a browser sends as part of the request to result in a Bad Request, whitelist the Cookie header as follows:

ohi.untrusteddata.whitelist.header=Cookie

OAuth2

REST Clients in OHI applications can be configured to send requests to OAuth2 protected resources. See the implementation guide for further details about OAuth2 support in OHI applications.

OHI application’s RESTful services can also be OAuth2 protected. In that case the application validates and / or introspects OAuth2 access tokens that are sent as Bearer tokens in the HTTP Authorization header.

The following table lists OAuth2 REST Client and server side properties.

Name Description Default Value Possible Values Change Effective

ohi.oauth.accesstoken.
expiry.time.delay

To model the overhead of fetching an access token from an OAuth2 authorization server for caching the access token in the REST client, e.g. to account for some network delay between the client and the authorization server.Example: if the authorization server returns a token with an expiry time of 3600 seconds and if the network delay is expected to be 100 ms, then 100 ms could be configured for this key. The resulting access token will be cached for the original expiry time minus overhead time, i.e. 3600000 - 100 = 3599900 ms. The value should be specified in milliseconds.

10

Integer ≥ 0

Immediate

ohi.oauth.cert.signing.
algorithm

Determines the signing algorithm for X509 certificates that are used by OHI applications to sign the JWT token that an OHI application generates for obtaining an OAuth2 access token through the assertion grant type (where the JWT is used as assertion). Only RSA algorithms are currently supported.

SHA512withRSA

String

Immediate

ohi.oauth.jwk.set.url

URL value for the OAuth2 authorization server JSON Web Key (JWK) Set endpoint. The OAuth2 authorization server should support RFC 7517. Token Validation Method is JWKSET.

String, URL

After Restart

ohi.oauth.jwk.set.
validation.audience

Client Id or audience claim for token validation. Token Validation Method is JWKSET.

String

After Restart

ohi.oauth.jwk.set.
validation.issuer

Issuer for token validation. Token Validation Method is JWKSET.

String or URL

After Restart

ohi.oauth.jwk.set.
validation.jws.signing.
algorithm

Signing algorithm used by the Authorization Server. Token Validation Method is JWKSET.

RS256

String

After Restart

ohi.oauth.jws.signing.
algorithm

Algorithm used for signing the JWT token that an OHI application generates for obtaining an OAuth2 access token through the assertion grant type (where the JWTis used as assertion). Note that only RSA algorithms are currently supported.

RS512

RS256, RS384, RS512

Immediate

ohi.oauth.jwt.
expiration.period

Expiration period (in seconds) for the JWT token that an OHI application generates for obtaining an OAuth2 access token through the assertion grant type (where the JWT is used as assertion).

600

0 ≤ Integer ≤ 9999

Immediate

ohi.oauth.jwt.userid.
claim

Specifies the claim in the JWT that can be used to identify the user for which the OAuth2 access token was created. Token Validation Method is JWKSET.

sub

String

Immediate

ohi.oauth.openidconnect.
accesstoken.client_id

Client ID of the OpenID Connect client that has to be present to acquire an access token.

String

Immediate

ohi.oauth.openidconnect.
accesstoken.credential

Credential associated with the OpenID Connect client that has to be present to acquire an access token.

String

Immediate

ohi.oauth.openidconnect.
accesstoken.validation.
clockskew

Defines the maximum acceptable clock skew (in seconds) for validating timestamps of ID tokens that are issued by an OpenID Provider.

60

Integer ≥ 1

After Restart

ohi.oauth.token.
introspection.endpoint.
client_id

Unique client id for resolving the username and password credentials that are used to construct the Basic Authentication Authorization header when calling the OAuth2 authorization server token validation or introspection endpoint. Token Validation Method is OAUTH2_ENDPOINT.

String

Immediate

ohi.oauth.token.
introspection.endpoint.
url

URL value for the OAuth2 authorization server token validation or introspection endpoint. It is assumed that the endpoint supports Basic Authentication. Token Validation Method is OAUTH2_ENDPOINT.

String, URL

After Restart

ohi.oauth.token.
introspection.response.
username

RFC 7662 defined Introspection Response element that will be used to derive the username from. Token Validation Method is OAUTH2_ENDPOINT.

sub

String

Immediate

ohi.oauth.token.issuer.
<0>

For token validation. Specific issuer identifier. Requires use of properties ohi.oauth.token.issuers and ohi.oauth.token.issuer.<0>.user.claim.

String or URL

After Restart

ohi.oauth.token.issuer.
<0>.user.claim

For token validation. Issuer-specific user claim. Requires use of properties ohi.oauth.token.issuers and ohi.oauth.token.issuer.<0>.

String

After Restart

ohi.oauth.token.issuers

For token validation. Comma-separated string of possible token issuers. Requires use of properties ohi.oauth.token.issuer.<0> and ohi.oauth.token.issuer.<0>.user.claim.

Comma-
separated string,
e.g. oracle_idcs,
azure_ad

After Restart

ohi.oauth.token.
validation.method

Determines the access token validation method. Possible values: JWKSET: OAuth2 access tokens are validated by the resource server. Assuming the token is a JWT, validates it against a JSON Web Key (JWK) Set as defined by RFC 7517. The source of the JWK Set is an endpoint exposed by an OAuth2 authorization server. Use this method to validate ID tokens issued by an OpenID Provider.OAUTH2_ENDPOINT: validates the token using an OAuth2 authorization server’s token introspection endpoint as defined by RFC 7662.

JWKSET

JWKSET, OAUTH2_
ENDPOINT

Immediate

User Interface

Name Description Default Value Possible Values Change Effective

ohi.
accessibilitypreference.
popup

Can be used to initiate showing a modal popup for UI accessibility settings, in case that has not been done for the user earlier.

false

Boolean

Next Execution

ohi.environment.
identifier

Text string that is displayed on the home page of the system that helps the user to identify the environment.Samples are 'User Acceptance Test' or 'Development'.

ohi

String

Next Execution

ohi.oauth.idp.uri

A system property needs to be set to the IDP (IDentity Provider) URL to acquire the OpenID Connect configuration. This property is expected to be set when 'ohi.oauth.use.openidconnect' is set to 'true'.

String

After Restart

ohi.oauth.use.
openidconnect

When set to true, it indicates that Oracle JET UI leverages OpenID Connect authentication.

false

Boolean

After Restart

ohi.security.oauth.
callback

Specifies the OpenID Connect callback URL to be invoked after authentication of the user through OpenID Connect has taken place, but before an access token has been obtained.

oidc/callback

String

After Restart

ohi.security.oauth.
cookie.maxage

This property determines the time (in seconds) until the the OAUTH authentication cookie expires.

3600

Integer ≥ 1

After Restart

ohi.security.oauth.
cookie.name

This property specifies the name of the shared cookie in which the OpenID connect authentication information is stored

OHI_SHARED_AUTH

String

After Restart

ohi.security.oauth.
cookie.path

This property specifies the path of the OHI OAUTH Session Cookie. This path must exist in the requested URL, or the browser won’t send the Cookie header.

/

String

After Restart

ohi.security.oauth.
cookie.secure

This property determines if the OAUTH authentication cookie is set to 'secure'. When set to true, the cookie is only sent to the server when a request is made with the 'https:' scheme.

false

Boolean

After Restart

ohi.security.oauth.
frontend

Specifies the base URL of the JET Application that needs to be secured (e.g. https://host:8909/oig)

/

String

After Restart

ohi.security.oauth.
logout

Specifies the OpenID Connect URL that is to be invoked after a user has selected to logout from the UI.

oidc/logout

String

After Restart

ohi.ui.maxrowstoretrieve

Maximum number of rows retrieved to show in a UI table. Note that memory usage and page load times are impacted by this value.

200

Integer ≥ 1

Next Execution

ohi.ui.
maxrowstoretrieve.<0>

Maximum number of rows retrieved to show in a UI table for an individual page. The function code is the one shown in the 'About this page' popup, and is case sensitive. Note: it is not possible to change the number of rows shown for an individual LOV. LOV are always restricted by ohi.ui.maxrowstoretrieve. If this property is not set, the value of ohi.ui.maxrowstoretrieve will be taken (which has in its turn a default of '200')

Integer ≥ 1

Next Execution

ohi.ui.pollinterval

This property controls the interval between automatic page refreshes for pages that support it. Value in milliseconds

5000

Integer ≥ 1

Next Execution

ohi.ui.pollinterval.<0>

This property controls the interval between automatic page refreshes for pages that support it. The <function_code> is an optional suffix that can be used to differentiate poll intervals between different pages.

5000

Integer ≥ 1

Next Execution

Monitoring & Metrics

Name Description Default Value Possible Values Change Effective

ohi.healthcheck.url.
mapping

Defines the mapping between the Healthcheck servlet and an URL pattern

String,
URL Mapping (e.g.
/up)

After Restart

ohi.instrumentation.
common.application.tag

Set to true to tag each metric with the name of the application

false

Boolean

After Restart

ohi.instrumentation.
filter.ohi.nameprefix

Set to false to enable recording of non-OHI metrics

true

Boolean

After Restart

ohi.instrumentation.
gather.
applicationmetrics

Set to true to enable recording of metrics

false

Boolean

Immediate

ohi.instrumentation.
gather.jvmtelemetry

Set to true to enable recording of JVM telemetry

false

Boolean

After Restart

ohi.instrumentation.
resourceclienttimer.
segment.prefixes

Comma-separated list of resource path segment prefixes for resource client timers that the system interprets as not being the last segment of the resource path.

Comma-
separated string,
e.g. api,oig-api,
policies-ws

After Restart

ohi.instrumentation.<0>.
histogram

Determines if histogram buckets for the configured timer are published

false

Boolean

After Restart

ohi.instrumentation.<0>.
percentiles

Percentiles for the configured timer.

Comma-
separated string,
e.g. 0.5,0.75,0.
95,0.99

After Restart

ohi.instrumentation.<0>.
regex

Data for the timer is published if the tag name that is specified as property "ohi.instrumentation.<0>.regex.tagname" matches this regular expression

Regular expression

After Restart

ohi.instrumentation.<0>.
regex.tagname

Tag name subject to testing with the regular expression that is specified as property "ohi.instrumentation.<0>.regex". Data for the timer is published if the tag name matches the regular expression.

String

After Restart

ohi.prometheusservlet.
url.mapping

Defines the mapping between the Prometheus servlet and an URL pattern

String, URL Mapping

After Restart

See the Operations Guide for more details about metrics related properties.