Appendix 6 - Configuration properties
1. Logging
Key | Description | Default | Mandatory | Values |
---|---|---|---|---|
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
Key | Description | Default | Mandatory | Values |
---|---|---|---|---|
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
Key | Description | Default | Mandatory | Values |
---|---|---|---|---|
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
Key | Description | Default | Mandatory | Values |
---|---|---|---|---|
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
Key | Description | Default | Mandatory | Values |
---|---|---|---|---|
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
Key | Description | Default | Mandatory | Values |
---|---|---|---|---|
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
Key | Description | Default | Mandatory | Values |
---|---|---|---|---|
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