Appendix 6 - Configuration properties

1. Logging

KeyDescriptionDefaultMandatoryValues

logging.file.name

Location where the log files will be written

${ACQ_BATCH_APP_LOG_FILE:application.log}

NO

logging.level.root

Log level

${LOG_LEVEL_RTD_TRANSACTION_FILTER:INFO}

NO

TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF

logging.pattern

Log pattern

${ACQ_BATCH_APP_LOG_PATTERN:}

NO

Many other customizable variables are found here.

2. General

KeyDescriptionDefaultMandatoryValues

spring.batch.job.enabled

To avoid unmanaged executions, must be at false

FALSE

YES

FALSE

spring.batch.job.scheduled

To define if the process will remain active with scheduled executions

FALSE

YES

TRUE/FALSE

batchConfiguration.TransactionFilterBatch.successArchivePath

Move initial csv to success path

file:/${ACQ_BATCH_SUCCESS_PATH:${ACQ_BATCH_TRX_INPUT_PATH:}/success}

YES

batchConfiguration.TransactionFilterBatch.errorArchivePath

Path where the files whose processing goes wrong are moved

file:/${ACQ_BATCH_ERROR_PATH:${ACQ_BATCH_TRX_INPUT_PATH:}/error}

YES

batchConfiguration.TransactionFilterBatch.pendingArchivePath

Path where the files whose upload goes wrong are moved

file:${ACQ_BATCH_PENDING_PATH:${ACQ_BATCH_OUTPUT_PATH:}/pending}

NO

batchConfiguration.TransactionFilterBatch.cron

Batch scheduling

${ACQ_BATCH_INPUT_CRON:0 0/1 * 1/1 * ?}

YES

batchConfiguration.TransactionFilterBatch.partitionerMaxPoolSize

Batch max partitioner setting

${ACQ_BATCH_INPUT_PART_MAX_POOL_SIZE:5}

NO

batchConfiguration.TransactionFilterBatch.partitionerCorePoolSize

Batch partitioner pool setup

${ACQ_BATCH_INPUT_PART_CORE_POOL_SIZE:5}

NO

batchConfiguration.TransactionFilterBatch.readerMaxPoolSize

Maximum number of transaction csv file readers

${ACQ_BATCH_INPUT_PART_READ_MAX_POOL_SIZE:5}

NO

batchConfiguration.TransactionFilterBatch.readerCorePoolSize

Maximum number of transaction csv file readers

${ACQ_BATCH_INPUT_PART_READ_CORE_POOL_SIZE:5}

NO

batchConfiguration.TransactionFilterBatch.tablePrefix

Table prefix containing the metadata related to the execution of the batch, if active

${ACQ_BATCH_INPUT_TABLE_PREFIX:BATCH_}

NO

batchConfiguration.TransactionFilterBatch.isolationForCreate

Define the isolation level used by the jobRepository on the batch tables

${ACQ_BATCH_TRX_ISOLATION_FOR_CREATE:ISOLATION_SERIALIZABLE}

NO

3. PAN list reading

KeyDescriptionDefaultMandatoryValues

batchConfiguration.TransactionFilterBatch.panList.hpanDirectoryPath

The path where the file containing HPANs is located

file:/${ACQ_BATCH_HPAN_INPUT_PATH:}/${ACQ_BATCH_INPUT_FILE_PATTERN:*.csv}

YES

batchConfiguration.TransactionFilterBatch.panList.secretKeyPath

Path where the private key is saved

file:/${ACQ_BATCH_INPUT_SECRET_KEYPATH:}

YES

batchConfiguration.TransactionFilterBatch.panList.passphrase

Passphrase for the private key

${ACQ_BATCH_INPUT_SECRET_PASSPHRASE:}

YES

batchConfiguration.TransactionFilterBatch.panList.partitionerSize

Size of the partitioner used to read the file

${ACQ_BATCH_HPAN_PARTITIONER_SIZE:10}

NO

batchConfiguration.TransactionFilterBatch.panList.chunkSize

Size of the chunks used for reading the file

${ACQ_BATCH_HPAN_CHUNK_SIZE:1000}

NO

batchConfiguration.TransactionFilterBatch.panList.skipLimit

Maximum number of records discarded before execution is blocked

${ACQ_BATCH_HPAN_SKIP_LIMIT:0}

NO

batchConfiguration.TransactionFilterBatch.panList.applyDecrypt

Flag indicating whether or not to apply the decrypt at the hpan file

${ACQ_BATCH_PAN_LIST_APPLY_DECRYPT:true}

YES

TRUE FALSE

4. Transaction list reading

KeyDescriptionDefaultMandatoryValues

batchConfiguration.TransactionFilterBatch.transactionFilter.transactionDirectoryPath

Path where the transaction file to be processed is read

file:/${ACQ_BATCH_TRX_INPUT_PATH:}/

YES

batchConfiguration.TransactionFilterBatch.transactionFilter.outputDirectoryPath

Path where the final file is writtene

file:/${ACQ_BATCH_OUTPUT_PATH:${ACQ_BATCH_TRX_INPUT_PATH:}/output}

YES

batchConfiguration.TransactionFilterBatch.transactionFilter.partitionerSize

Partitiner size for transaction files

${ACQ_BATCH_INPUT_PARTITIONER_SIZE:10}

NO

batchConfiguration.TransactionFilterBatch.transactionFilter.chunkSize

Chunck size for reading transaction files

${ACQ_BATCH_INPUT_CHUNK_SIZE:1000}

NO

batchConfiguration.TransactionFilterBatch.transactionFilter.skipLimit

Maximum number of records discarded before execution is blocked

${ACQ_BATCH_INPUT_SKIP_LIMIT:0}

NO

batchConfiguration.TransactionFilterBatch.transactionFilter.timestampPattern

Pattern relating to the transaction date

${ACQ_BATCH_INPUT_TIMESTAMP_PATTERN:MM/dd/yyyy HH:mm:ss}

NO

batchConfiguration.TransactionFilterBatch.transactionFilter.applyHashing

Flag that drives the hashing to the pan present in the transaction file

${ACQ_BATCH_TRX_LIST_APPLY_HASHING:false}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionFilter.applyEncrypt

Flag to define whether to encrypt the result file

${ACQ_BATCH_TRX_LIST_APPLY_ENCRYPT:true}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionFilter.linesToSkip

Number of lines to skip from the beginning of the file (e.g. to avoid the header )

${ACQ_BATCH_INPUT_LINES_TO_SKIP:0}

NO

batchConfiguration.TransactionFilterBatch.transactionFilter.transactionLogsPath

Path where the processed transaction records resulting in either an error, or getting filtered, are traced in .csv format

file:/${ACQ_BATCH_TRX_LOGS_PATH:}

YES

batchConfiguration.TransactionFilterBatch.transactionFilter.readers.listener.enableAfterReadLogging

Property to enable logging for the read records

${ACQ_BATCH_TRX_AFTER_READ_LOGGING_ENABLED:false}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionFilter.readers.listener.enableOnReadErrorLogging

Property to enable logging for the records that had errors on the reading phase

${ACQ_BATCH_TRX_READ_ERROR_LOGGING_ENABLED:true}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionFilter.readers.listener.enableOnReadErrorFileLogging

Property to enable writing the records that had errors on the reading phase

${ACQ_BATCH_TRX_READ_ERROR_FILE_LOGGING_ENABLED:true}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionFilter.readers.listener.enableAfterProcessLogging

Property to enable logging for the processed records

${ACQ_BATCH_TRX_AFTER_PROCESS_LOGGING_ENABLED:false}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionFilter.readers.listener.enableAfterProcessFileLogging

Property to enable writing the records that had been filtered

${ACQ_BATCH_TRX_AFTER_PROCESS_FILE_LOGGING_ENABLED:true}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionFilter.readers.listener.enableOnProcessErrorLogging

Property to enable logging for the records that had errors on the processing phase

${ACQ_BATCH_TRX_PROCESS_ERROR_LOGGING_ENABLED:true}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionFilter.readers.listener.enableOnProcessErrorFileLogging

Property to enable writing the records that had errors on the processing phase

${ACQ_BATCH_TRX_PROCESS_ERROR_FILE_LOGGING_ENABLED:true}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionFilter.readers.listener.enableAfterWriteLogging

Property to enable logging for the written records

${ACQ_BATCH_TRX_AFTER_WRITE_LOGGING_ENABLED:false}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionFilter.readers.listener.enableOnWriteErrorLogging

Property to enable logging for the records that had errors on the writing phase

${ACQ_BATCH_TRX_WRITE_ERROR_LOGGING_ENABLED:true}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionFilter.readers.listener.enableOnWriteErrorFileLogging

Property to enable writing the records that had errors on the writing phase

${ACQ_BATCH_TRX_WRITE_ERROR_FILE_LOGGING_ENABLED:true}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionFilter.readers.listener.loggingFrequency

Logging frequency for transaction records

${ACQ_BATCH_TRX_READ_LOGGING_FREQUENCY:10000}

YES

5. REST services

KeyDescriptionDefaultMandatoryValues

batchConfiguration.TransactionFilterBatch.transactionSenderAde.enabled

Indicates whether the sending of AdE filtered transactions to the rest channel is active or not

${ACQ_BATCH_TRX_SENDER_ADE_ENABLED:true}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionSenderRtd.enabled

Indicates whether the sending of filtered transactions to the rest channel is active or not

${ACQ_BATCH_TRX_SENDER_RTD_ENABLED:true}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionSenderPending.enabled

Indicates whether the sending of pending files is active or not

${ACQ_BATCH_TRX_SENDER_ADE_ENABLED:true}

NO

batchConfiguration.TransactionFilterBatch.saltRecovery.enabled

Enable the recovery service for the salt

${ACQ_BATCH_SALT_RECOVERY_ENABLED:false}

NO

batchConfiguration.TransactionFilterBatch.hpanListRecovery.enabled

Enable the recovery service for the hpan list

${ACQ_BATCH_HPAN_RECOVERY_ENABLED:true}

NO

batchConfiguration.TransactionFilterBatch.hpanListRecovery.directoryPath

Location where the file containing the list of files will be saved

${ACQ_BATCH_HPAN_INPUT_PATH:}

NO

batchConfiguration.TransactionFilterBatch.hpanListRecovery.filename

Name assigned to the recovered file

${CSV_TRX_BATCH_HPAN_LIST_FILENAME:}

NO

batchConfiguration.TransactionFilterBatch.hpanListRecovery.dailyRemoval.enabled

Enable daily removal of retrieved hpan files

${ACQ_BATCH_HPAN_RECOVERY_DAILY_REM_ENABLED:false}

NO

TRUE FALSE

batchConfiguration.TransactionFilterBatch.abiToFiscalCodeMapRecovery.enabled

Enable the recovery service for the abi to fiscal code map

${ACQ_BATCH_ABI_TO_FISCALCODE_RECOVERY_ENABLED:true}

NO

batchConfiguration.TransactionFilterBatch.senderAdeAckFilesRecovery.enabled

Enable the recovery service for the sender ade ack files

${ACQ_BATCH_SENDER_ADEACK_RECOVERY_ENABLED:true}

NO

batchConfiguration.TransactionFilterBatch.senderAdeAckFilesRecovery.directoryPath

Location where the files containing the ade acks will be saved

${ACQ_BATCH_SENDER_ADEACK_OUTPUT_PATH:senderAdeAck}

YES

batchConfiguration.TransactionFilterBatch.transactionWriterAde.splitThreshold

ADE file output threshold in number of rows. Beyond the threshold a new output file is generated.

${ACQ_BATCH_WRITER_ADE_SPLIT_THRESHOLD:2000000}

NO

batchConfiguration.TransactionFilterBatch.transactionWriterRtd.splitThreshold

RTD file output threshold in number of rows. Beyond the threshold a new output file is generated.

${ACQ_BATCH_WRITER_RTD_SPLIT_THRESHOLD:1000000}

NO

batchConfiguration.TransactionFilterBatch.fileReportRecovery.enabled

Enable the file report recovery step

${ACQ_BATCH_FILE_REPORT_RECOVERY_ENABLED:true}

NO

batchConfiguration.TransactionFilterBatch.fileReportRecovery.directoryPath

Location where the file reports will be saved

${ACQ_BATCH_FILE_REPORT_PATH:resources/reports}

YES

batchConfiguration.TransactionFilterBatch.fileReportRecovery.fileNamePrefix

Customizable file name prefix for file reports

${ACQ_BATCH_FILE_REPORTS_PREFIX:report-tae}

NO

rest-client.hpan.base-url

Base url for REST services

${HPAN_SERVICE_URL}

NO

rest-client.hpan.api.key

Subscription key to be used if calling Azure-hosted API methods

${HPAN_API_KEY}

NO

rest-client.hpan.list.url

URL to download the hpan file

${ACQ_BATCH_HPAN_LIST_URL:v2/hashed-pans}

NO

rest-client.hpan.salt.url

URL to download the salt

${ACQ_BATCH_HPAN_SALT_URL:v2/salt}

NO

rest-client.hpan.list.attemptExtraction

Considers the downloaded file as compressed, and attempts an estraction

TRUE

NO

TRUE FALSE

rest-client.hpan.list.checksumValidation

Attempts to validate the downloaded file using a checksum

FALSE

NO

TRUE FALSE

rest-client.hpan.list.checksumHeaderName

Response header containing the file's checksum

x-ms-meta-sha256

NO

rest-client.hpan.list.listFilePattern

Pattern to be used for extracting the correct file from the compressed resource

*\.csv

NO

rest-client.hpan.list.dateValidation

Enables date validation for the recovered resource

FALSE

NO

TRUE FALSE

rest-client.hpan.list.dateValidationHeaderName

Response header containing the file's creation/update date

last-modified

NO

rest-client.hpan.list.dateValidationPattern

Response header date timestamp pattern (defaults to RFC-1123)

NO

rest-client.hpan.list.dateValidationZone

Zone to consider when validating the creation date for the downloaded file

Europe/Rome

NO

rest-client.hpan.proxy.enabled

Use a Proxied Client

${HPAN_SERVICE_PROXY_ENABLED:false}

NO

rest-client.hpan.proxy.host

Proxy host

${HPAN_SERVICE_PROXY_HOST:}

NO

rest-client.hpan.proxy.port

Proxy port

${HPAN_SERVICE_PROXY_PORT:}

NO

rest-client.hpan.proxy.username

Proxy username

${HPAN_SERVICE_PROXY_USERNAME:}

NO

rest-client.hpan.proxy.password

Proxy password

${HPAN_SERVICE_PROXY_PASSWORD:}

NO

rest-client.hpan.mtls.enabled

Enable MTLS for salt and pan list services

${HPAN_SERVICE_MTLS_ENABLED:true}

NO

rest-client.hpan.key-store.file

Path to key-store

file:/${HPAN_SERVICE_KEY_STORE_FILE:}

NO

rest-client.hpan.key-store.type

Key-store type

${HPAN_SERVICE_KEY_STORE_TYPE:#{null}}

NO

rest-client.hpan.key-store.algorithm

Key-store algorithm

${HPAN_SERVICE_KEY_STORE_ALGORITHM:#{null}}

NO

rest-client.hpan.key-store.password

Key-store password

${HPAN_SERVICE_KEY_STORE_PASSWORD:}

NO

rest-client.hpan.trust-store.file

Path to trust-store

file:/${HPAN_SERVICE_TRUST_STORE_FILE:}

NO

rest-client.hpan.trust-store.type

Trust-store type

${HPAN_SERVICE_TRUST_STORE_TYPE:#{null}}

NO

rest-client.hpan.trust-store.password

Trust-store password

${HPAN_SERVICE_TRUST_STORE_PASSWORD:}

NO

feign.client.config.hpan-service.connectTimeout

Rest client connection timeout, defined in milliseconds

${REST_CLIENT_CONNECT_TIMEOUT:${HPAN_REST_CLIENT_CONNECT_TIMEOUT:5000}}

NO

feign.client.config.hpan-service.readTimeout

Rest client read timeout, defined in milliseconds

${REST_CLIENT_READ_TIMEOUT:${HPAN_REST_CLIENT_READ_TIMEOUT:5000}}

NO

6. File handling

KeyDescriptionDefaultMandatoryValues

batchConfiguration.TransactionFilterBatch.transactionFilter.deleteProcessedFiles

Enable deletion of any processed file (all files related to a batch computation)

${ACQ_BATCH_DELETE_LOCAL_FILE:true}

YES

TRUE FALSE

batchConfiguration.TransactionFilterBatch.transactionFilter.deleteOutputFiles

Define output files management rule

${ACQ_BATCH_DELETE_OUTPUT_FILE:ERROR}

YES

ALWAYS ERROR KEEP

batchConfiguration.TransactionFilterBatch.transactionFilter.manageHpanOnSuccess

Define HPAN files management rule on success

${ACQ_BATCH_HPAN_ON_SUCCESS:DELETE}

YES

DELETE ARCHIVE KEEP

7. Repository

KeyDescriptionDefaultMandatoryValues

spring.datasource.url

Database connection url

${ACQ_BATCH_DB_CONN_URL:}

YES

spring.datasource.username

Database username for login

${ACQ_BATCH_DB_USERNAME:}

YES

spring.datasource.password

Database password for user login

${ACQ_BATCH_DB_PASSWORD:}

YES

spring.datasource.hikari.schema

Database schema

${ACQ_BATCH_DB_SCHEMA:}

YES

spring.jpa.database-platform

Database dialect

${ACQ_BATCH_DB_DIALECT:}

YES

Last updated