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 | |
rest-client.file-report.url | From version 2.2.0 is able to manage either new v2 with data summary or the old report version. if you want to use the old version you must to set ACQ_BATCH_FILE_REPORT_URL="/file-report" | ${ACQ_BATCH_FILE_REPORT_URL:v2/file-report} | 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