How to set modified parameters in the TDM Docker version of Portal
search cancel

How to set modified parameters in the TDM Docker version of Portal

book

Article ID: 278332

calendar_today

Updated On: 03-21-2025

Products

CA Test Data Manager (Data Finder / Grid Tools)

Issue/Introduction

In the past, we had to modify some of the HTTP Client timeout properties for our Windows version of TDM Portal. We are now needing to do the same thing for our Docker version of TDM Portal, but cannot find the application.properties file. How do we make these changes in the Docker version or Portal?

For example, we modified the following parameters in the application.properties file:

# START from TDMFindReserveService
httpClient.connectTimeout=10000
httpClient.readTimeout=1800000
httpClient.connectionTimeToLive=1800000
# limits apply per each http client, not globally
httpClient.maxConnTotal=20
httpClient.maxConnPerRoute=20

Environment

TDM Portal on Docker

Resolution

Add the parameters found in the Windows version application.properties file to the home/tdm/.tdm/conf/docker-compose-environment.yml file.

The syntax for the yml file is ALL UPPERCASE characters, and change any . (period) characters to _ (underscore). For example:

In the application.properties file:

# START from TDMFindReserveService
httpClient.connectTimeout=10000
httpClient.readTimeout=1800000
httpClient.connectionTimeToLive=1800000
# limits apply per each http client, not globally
httpClient.maxConnTotal=20
httpClient.maxConnPerRoute=20

In the yml file, these would be:

# START from TDMFindReserveService
HTTPCLIENT_CONNECTTIMEOUT=10000
HTTPCLIENT_READTIMEOUT=1800000
HTTPCLIENT_CONNECTIONTIMETOLIVE=1800000
# limits apply per each http client, not globally
HTTPCLIENT_MAXCONNTOTAL=20
HTTPCLIENT_MAXCONNPERROUTE=20

If running all the docker containers from a single server, then adding the properties to the docker-compose-environment.yml will suffice.

However, the docker-compose-environment.yml can only be used with the docker-compose.yml (main portal).

If it's decide to run multiple masking containers on separate machines (in a cluster), then will want to add the properties to the docker-compose-masking.yml for each of the servers in the cluster.

Additional Information

To verify the properties are set as intended, you can create a script inside the container to see the values of env.

For example:

#!/bin/bash

# Check if HTTPCLIENT_CONNECTTIMEOUT is set
if [ -n "$HTTPCLIENT_CONNECTTIMEOUT" ]; then
echo "HTTPCLIENT_CONNECTTIMEOUT is set to $HTTPCLIENT_CONNECTTIMEOUT"
else
echo "HTTPCLIENT_CONNECTTIMEOUT is not set"
fi

# Check if HTTPCLIENT_READTIMEOUT is set
if [ -n "$HTTPCLIENT_READTIMEOUT" ]; then
echo "HTTPCLIENT_READTIMEOUT is set to $HTTPCLIENT_READTIMEOUT"
else
echo "HTTPCLIENT_READTIMEOUT is not set"
fi