Downloading and Running Oracle Health Insurance Agent
This section of the document explains how to obtain Oracle Health Insurance Agent java archive file (or jar file) and how to run it. A Java runtime is needed to run Oracle Health Insurance Agent jar, no other software needs to be installed.
Downloading Oracle Health Insurance Agent
Oracle Health Insurance Agent runnable jar file must be downloaded from Oracle Insurance Gateway by executing a GET request to its "/agent" HTTP API resource. Accessing the resource is subject to the usual authentication and authorization procedures.
For example, assuming user "agent_downloader" is provisioned in the Oracle Insurance Gateway and is authorized to access the "/agent" resource, the following curl request will download Oracle Health Insurance Agent jar (it will prompt for the password):
curl -su agent_downloader -o ohi-agent.jar http://gateway_machine/api/agent
For the remainder of this guide it is assumed that Oracle Health Insurance Agent runnable jar file is placed in a directory that is referred to as AGENT_HOME.
Setting Up a Properties File
-
In the AGENT_HOME (or in AGENT_HOME/config), create a file named "application.properties".
-
In the file, add valid values for the following system properties (note that each property name-value pairs needs to be on a separate line without line breaks):
Following are the common properties:
Property | Required? | Description |
---|---|---|
agent.gateway.uri |
Yes |
Oracle Insurance Gateway URI, including the context root for the HTTP API. Must be a secure connection. |
agent.gateway.authentication |
Yes |
Either OAuth or BasicAuthentication. Defaults to OAuth. |
ohi.rest.client.agent.gateway.authentication.trust.store.file |
Yes |
The location of the SSL trust store file |
ohi.rest.client.agent.gateway.authentication.trust.store.password |
Yes |
The password for the SSL trust store file |
Property | Required? | Description |
---|---|---|
agent.vault.uri |
Yes |
Vault URI that Oracle Health Insurance Agent uses to retrieve secrets. Must be a secure connection. |
agent.vault.pemFilePath |
Yes |
Certificate in PEM format for accessing the Vault. |
agent.vault.token |
Yes |
Oracle Health Insurance Agent specific token for accessing the Vault. |
Property | Required? | Description |
---|---|---|
agent.oauth2.uri |
If OAuth is used |
OAuth2 Authorization Server URI that Oracle Health Insurance Agent uses to retrieve OAuth2 access tokens that are needed to access Oracle Insurance Gateway. Must be a secure connection. |
agent.oauth2.serverScope |
No and only if OAuth is used |
Optional scope for retrieving OAuth2 access tokens. |
Running Oracle Health Insurance Agent
Please note that Oracle Health Insurance Agent requires Java 17 to run. |
Run Oracle Health Insurance Agent by executing the following command:
java -Dtangosol.coherence.override=tangosol-coherence-override.xml -jar ohi-agent.jar
This command references a tangosol-coherence-override.xml file that is shipped with Oracle Health Insurance Agent. It contains a minimal Oracle Coherence configuration for running it. The use of Oracle Coherence for setting up Oracle Health Insurance Agent for high availability is documented elsewhere in this guide. |
Checking If Oracle Health Insurance Agent Version Matches the Oracle Insurance Gateway Version
Upon startup Oracle Health Insurance Agent connects to the Oracle Insurance Gateway in order to retrieve its configuration. When doing so, it will check if its own version matches that of Oracle Insurance Gateway. If that is the case it will log the following informational message:
Agent version a.b.c matches version of Agent that is bundled with Gateway
Otherwise it will log the following warning:
Agent version a.b.c does not match the version of Agent that is bundled with Gateway, please download Agent from Gateway
In the latter case, download the matching version of Oracle Health Insurance Agent from the Oracle Insurance Gateway and use that.
Checking the Health of Oracle Health Insurance Agent
From an operational perspective it is useful to have a mechanism to easily check whether the Agent is up and running. For this purpose, the Agent exposes a specific endpoint. This endpoint can be accessed through
https://<host>:<port>/actuator/health
The below example shows how this is accessed through curl. If the Agent is up it will report back on the status:
curl http://myhost:8890/actuator/health
{"status":"UP"}
The port shown above, is something that is determined by the system. For this port to have a fixed value, include the following startup parameter: <tt>--server.port=<portnumber></tt>. Where <portnumber> is the port number of the system. |
Display the Version of Oracle Health Insurance Agent Binary
In order to display the version of Oracle Health Insurance Agent binary that is currently present/installed on-premises, without effectively running the agent the following command can be run from the command line:
java -jar ohi-agent.jar --version
This will print version information, which looks like:
agent (IAT)
Version: 4.0.0
Configuring Oracle Health Insurance Agent Logging
By default Oracle Health Insurance Agent logs output to the console, and to a logs directory relative to the location where Oracle Health Insurance Agent is started. Oracle Health Insurance Agent logging can be configured in various ways. This section lists the most important configuration options. As is the case for Oracle Health Insurance Agent properties, logging configuration is done through adding the appropriate Oracle Health Insurance Agent program argument on the command line.
Changing the Location Where Logs are Written To
To write log files for Oracle Health Insurance Agent to another directory, add this program argument:
--logging.file.path=/external/as2805_a/logs
Activating a Particular Component Namespace for Additional Log Information
Sometimes it is useful to have Oracle Health Insurance Agent generate additional logging information. This for instance can be used to resolve a service request raised for a problem with Oracle Health Insurance Agent. A support engineer will typically ask that a particular component namespace be put in a state that it starts generated more detailed log information. An example where the root component namespace is put into debug mode, looks like this:
--logging.level.com.oracle.healthinsurance=DEBUG
Externalizing Oracle Health Insurance Agent Logging Configuration in Its Entirety
There might be reasons where the whole configuration for the logging subsystem needs to be externalized from the application. The externalized log configuration file follow the logback format (check http://logback.qos.ch/manual/configuration.html - "Configuration File Syntax" for details). This can be done using the following:
--logging.config=file:/external/config/logback-spring.xml
or in order to externalize the logging configuration to a web server:
--logging.config=http://somehost:8080/config/logback-spring.xml