Storing conversion state externally
Table of contents
What is its function
This option allows you to use an external database to store conversion states by specifying a JNDI name for the database. This allows current state to be stored in the case of a server failure. It also allows multiple servers to use a single database which is a must for a Kubernetes cluster or running multiple servers behind a load balancer.
This function is controlled by 1 config property.
- databaseJNDIName - The JNDI for the database to store states within
Prerequisites
- Create a new database.
- Set up a datasource for your app server of choice
How to set this value
Create the following Java properties file on the server running your app server (if you don’t already have one) {user.home}/.idr/jpedal-microservice/jpedal-microservice.properties
In this file add (or update if the key already exists) the following key and value pair.
- databaseJNDIName - This must be a valid JNDI from the datasource you have set.
e.g databaseJNDIName=jdbc/exampleStateDB
Default Value
When no values are provided or invalid values are provided the option will default to storing the conversion state in internal memory requiring no external database.
How to use with Docker
In order to provide your own properties file to the Docker image you need to mount the properties file to the image. This is done by adding the following to your docker run command.
--mount "source=/path/to/properties/directory/jpedal-microservice.properties,target=/root/.idr/jpedal-microservice/jpedal-microservice.properties,type=bind"