AWS Mainframe Modernization Service (Managed Runtime Environment experience) is no longer open to new customers. For capabilities similar to AWS Mainframe Modernization Service (Managed Runtime Environment experience) explore AWS Mainframe Modernization Service (Self-Managed Experience). Existing customers can continue to use the service as normal. For more information, see AWS Mainframe Modernization availability change.
Enable properties for AWS Transform for mainframe Runtime
In Spring Boot applications application-main.yml is the configuration
file in which we define different kinds of properties such as the listening port, database
connectivity, and many more. You can use this page to learn about the available properties for
AWS Transform for mainframe Runtime and how to enable them.
Topics
YML notation
In the following documentation, a property such as parent.child1.child2=true is
written as follows in YAML format.
parent: child1: child2: true
Quick start / Use cases
The following use cases show examples of the applicable keys and values.
-
Default application-main.yml
---- #### DEFAULT APPLICATION-MAIN.YML FILE ##### #### SHOWING USEFUL CONFIGURATION ELEMENTS ##### #### SHOULD BE OVERRIDDEN AND EXTERNALIZED ##### ################################# ##### Logging configuration ##### ################################# logging: config: classpath:logback-main.xml level.org.springframework.beans.factory.support.DefaultListableBeanFactory : WARN ################################ ##### Spring configuration ##### ################################ spring: quartz: auto-startup: false scheduler-name: Default properties: org.quartz.threadPool.threadCount: 1 jta: enabled: false atomikos.properties.maxTimeout : 600000 atomikos.properties.default-jta-timeout : 100000 jpa: # DISABLE OpenEntityManagerInViewInterceptor open-in-view: false # Fix Postgres JPA Error: # Method org.postgresql.jdbc.PgConnection.createClob() is not yet implemented. properties.hibernate.temp.use_jdbc_metadata_defaults : false ##################################### ##### Jics tables configuration ##### ##################################### # The dialect should match the jics datasource choice database-platform : org.hibernate.dialect.PostgreSQLDialect # org.hibernate.dialect.PostgreSQLDialect, org.hibernate.dialect.SQLServerDialect # those properties can be used to create and initialize jics tables automatically. # properties: # hibernate: # globally_quoted_identifiers: true # hbm2ddl: # import_files_sql_extractor : org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor # import_files : file:./setup/initJics.sql # auto : create ########################## ###### Level 2 cache ##### ########################## # cache: # use_second_level_cache: true # use_query_cache: true # region: # factory_class: org.hibernate.cache.ehcache.EhCacheRegionFactory # javax: # persistence: # sharedCache: # mode: ENABLE_SELECTIVE ########################## ###### Redis settings ##### ########################## session: store-type: none #redis # Secret manager configuration for global Redis cache aws: client: gapwalk: redis: secret: arn:aws:secretsmanager:XXXX ######################################### ##### JICS datasource configuration ##### ######################################### datasource: jicsDs: driver-class-name : org.postgresql.Driver # org.postgresql.Driver, com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:postgresql://localhost/jics # jdbc:postgresql://localhost:5433/jics, jdbc:sqlserver://localhost\SQLEXPRESS:1434;databasename=jics; username: jics password: jics type : org.postgresql.ds.PGSimpleDataSource # org.postgresql.ds.PGSimpleDataSource, com.microsoft.sqlserver.jdbc.SQLServerDataSource ##################################################### ##### Embedded Bluesam datasource configuration ##### ##################################################### bluesamDs : driver-class-name : org.postgresql.Driver url : jdbc:postgresql://localhost/bluesam username : bluesam password : bluesam type : org.postgresql.ds.PGSimpleDataSource ########################################## ##### Embedded Bluesam configuration ##### ########################################## bluesam : cache : ehcache persistence : pgsql ehcache: resource-pool: size: 4GB write-behind: enabled: true pgsql : dataSource : bluesamDs ######################### ##### Jics settings ##### ######################### rabbitmq.host: localhost jics: cache: false #redis resource-definitions.store-type: jpa # default value: jpa, other possible value: redis jics.disableSyncpoint : false #jics.initList: #jics.parameters.datform: DDMMYY #jics.parameters.applid: VELOCITY #jics.parameters.sysid: CICS #jics.parameters.eibtrmid: TERM #jics.parameters.userid: MYUSERID #jics.parameters.username: MYUSERNAME #jics.parameters.opid: XXX #jics.parameters.cwa.length: 0 #jics.parameters.netname: MYNETNAME #jics.parameters.jobname: MJOBNAME #jics.parameters.sysname: SYSNAME ############################################## ##### Jics RunUnitLauncher pool settings ##### ############################################## #jics.runUnitLauncherPool.enable: false #jics.runUnitLauncherPool.size: 20 #jics.runUnitLauncherPool.validationInterval: 1000 ######################### ##### Jhdb settings ##### ######################### #jhdb.lterm: LTERMVAL #jhdb.identificationCardData: SomeIDData ################################### ##### DateHelper configuration #### ################################### #forcedDate: "2013-08-26T12:59:58+01:57" ############################# ##### Sort configuration #### ############################# #externalSort.threshold: 256MB ################################### ##### Server timeout (10 min) #### ################################### spring.mvc.async.request-timeout: 600000 ############################### ##### DATABASE STATISTICS #### ############################### databaseStatistics : false ###################### ##### CALLS GRAPH #### ###################### callGraph : false #################################### ##### SSL configuration ##### #################################### gapwalk.ssl.enabled : true gapwalk.ssl.trustStore : "./config/clientkey.jks" gapwalk.ssl.trustStorePassword : mysslcertifpassword ################################## ##### MQ settings ##### ################################## mq.queues: jmsmq mq.queues.jmsMQQueueManagers[0].jmsMQQueueManager: QM1 mq.queues.jmsMQQueueManagers[0].jmsMQAppName: Gapwalk mq.queues.jmsMQQueueManagers[0].jmsMQChannel: DEV.APP.SVRCONN mq.queues.jmsMQQueueManagers[0].jmsMQHost: localhost mq.queues.jmsMQQueueManagers[0].jmsMQPort: 1415 mq.queues.jmsMQQueueManagers[0].jmsMQUserid: app mq.queues.jmsMQQueueManagers[0].jmsMQSSLCipher: "*TLS12ORHIGHER" mq.queues.jmsMQQueueManagers[1].jmsMQQueueManager: QM2 mq.queues.jmsMQQueueManagers[1].jmsMQAppName: Gapwalk mq.queues.jmsMQQueueManagers[1].jmsMQChannel: DEV.APP.SVRCONN mq.queues.jmsMQQueueManagers[1].jmsMQHost: localhost mq.queues.jmsMQQueueManagers[1].jmsMQPort: 1415 mq.queues.jmsMQQueueManagers[1].jmsMQUserid: app ######################################################### ##### Configuration properties for JMS MQ connection #### ######################################################### mq.queues.jms.connectionfactory.borrow-connection-timeout: 31 # Timeout, in seconds, for borrowing connections from the pool. mq.queues.jms.connectionfactory.ignore-session-transacted-flag: true # Whether or not to ignore the transacted flag when creating a session. mq.queues.jms.connectionfactory.local-transaction-mode: false # Whether or not to include local transactions. mq.queues.jms.connectionfactory.maintenance-interval: 62 # The time, in seconds, between runs of the pool's maintenance thread. mq.queues.jms.connectionfactory.max-idle-time: 63 # The time, in seconds, after which connections are cleaned up from the pool. mq.queues.jms.connectionfactory.max-lifetime: 0 # The time, in seconds, that a connection can be pooled for before being destroyed. 0 denotes no limit. mq.queues.jms.connectionfactory.max-pool-size: 1 # The maximum size of the pool. This property will be overwritten by mq.queues.jmsMQQueueManagers[N].jmsMQMaxPoolSize property (if provided). mq.queues.jms.connectionfactory.min-pool-size: 1 # The minimum size of the pool. mq.queues.jms.connectionfactory.reap-timeout: 0 # The reap timeout, in seconds, for borrowed connections. 0 denotes no limit. ############################### ##### SQL SHIFT CODE POINT #### ############################### # Code point 384 match unicode character \u0180 sqlCodePointShift : 384 ############################### ##### LOCK TIMEOUT RECORD #### ############################### # Blu4IV record lock timeout lockTimeout : 100 ############################## ##### REPORTS OUTPUT PATH #### ############################## reportOutputPath: reports ############################## ##### TASK EXECUTOR #### ############################## taskExecutor: corePoolSize: 5 maxPoolSize: 10 queueCapacity: 50 allowCoreThreadTimeOut: false ############################## ##### PROGRAM NOT FOUND #### ############################## stopExecutionWhenProgNotFound: false ###################################################### ##### DISP DEFAULT VALUE (to be removed one day) #### ###################################################### defaultKeepExistingFiles: true ###################################################### ##### BLOCKSIZE DEFAULT VALUE #### ###################################################### #blockSizeDefault: 32760 ##################################### ##### JOBQUEUE CONFIGURATION #### ##################################### jobqueue: api.enabled: false impl: none # possible values: quartz, none schedulers: # list of schedulers - name: queue1 threadCount: 5 - name: queue2 threadCount: 5 ################################################################################ ##### QUERY BUILDING ## # useConcatCondition : false by default # if true, in the query, the where condition is build with key concatenation ## ################################################################################ # query.useConcatCondition: true ######################################## ##### JCL Batch Restart Mechanism #### ######################################## jcl: checkpoint: enabled: false #expireTimeout: -1 #expireTimeoutUnit: SECONDS # Supported values: java.util.concurrent.TimeUnit #provider: redis ############################## ##### System parameters #### ############################## system.date.format:MDY system.date.separator: "/" ############################################################# ##### Database metadata schema inclusion configuration #### ############################################################# gapwalk: database: metadata: schema-inclusion: enabled: false schemas: global: - "SCHEMA1" - "SCHEMA2" ############################## ##### URL configuration #### ############################## gapwalk.post.script.mediatype.json: false ######################################## ##### CBLQDA parameters #### ######################################## gapwalk.cobol.cblqda.enabled: false ---- -
Use variable length files with LISTCAT commands
[**/*.*] encoding=IBM930 reencoding=false [global] listcat.variablelengthpreprocessor.enabled=true listcat.variablelengthpreprocessor.type=rdw # use "rdw" if your .listcat file contains a set of records (RDW) # use "bdw" if your .listcat file contains a set of blocks (bdw) -
Provide Null Byte Indicator Value in LOAD/UNLOAD utility
# Unload properties # For date/time: if use database configuration is enabled, formats are ignored # For nbi; use hexadecimal syntax to specify the byte value # - When the value is null in database : the value dumped to the file is filled by low value characters and the NBI is # equal to the byte 6F (the ? character) # - When the value is not null in database and the column is nullable: the NBI is equal to the byte 00 (low value) and NOT # equal to the byte 40 (space) unload: sqlCodePointShift: 0 nbi: whenNull: "6F" whenNotNull: "00" useDatabaseConfiguration: false format: date: MM/dd/yyyy time: HH.mm.ss timestamp: yyyy-MM-dd-HH.mm.ss.SSSSSS
Available properties for the main application
This table provides an exhaustive view of key/values parameters.
Note
If you are migrating to version 5.1.0 or later and using bluesam with default openWarmUp behavior:
The default value of
bluesam.openWarmUphas changed fromtruetofalseTo maintain existing behavior, you must explicitly set
bluesam.openWarmUp=true
| Key | Type | Default value | Description | Release version |
|---|---|---|---|---|
|
|
number |
32760 |
The default block size to be used for BDW bytes. |
|
|
|
boolean |
false |
A global flag that determines if the application is to use the old DAO architecture or the new. This is dependent on whether the DAO's were generated using old or new design. |
|
|
|
int |
1 |
Specifies the number of update or set operations on a userspace after which the userspace is persisted in an external data repository. |
5.75.0 |
|
|
int |
4096 |
Specifies the page size which is used to allocate storage for user spaces. The size of the user space at any given time is always a multiple of this number specified. |
4.10.0 |
|
|
Supported Redis properties |
Specifies configuration properties for the user spaces redis store, see Available Redis cache properties in AWS Transform for mainframe Runtime. |
4.10.0 | |
|
|
string |
memory |
Specifies the store type that is used for user space registry. Supported values are memory and redis. If no store type is provided, memory is used by default. |
4.10.0 |
|
|
number |
1000 |
Specifies time (in millisecond) to wait between each iteration when polling bluesam status to check online activities. |
4.5.0 |
|
|
string |
If not set, the Blusam cache will not be used. Possible values (cache implementations) are ehcache and redis (Redis cache properties). |
||
|
|
boolean |
false |
Specifies whether or not to check bluesam dataset status before accessing it. |
4.5.0 |
|
|
string[] |
Specifies per-dataset prefetch window size overrides. Each entry format: Note: - Do not add spaces around the colon separator. - Dataset names containing - Wrap entries in double quotes or ensure no spaces in the entry. - Example: |
||
|
|
boolean |
false |
Whether to disable Blusam entirely. |
|
|
|
string[] |
Specifies the list of bluesam dataset to be cached during open. Note: - This parameter is only effective when |
5.1.0 |
|
|
|
number |
100000 |
The bluesam commit interval. |
|
|
|
number |
10 |
Specifies maximum threadpool size used to disable bluesam datasets for batch processing. |
4.5.0 |
|
|
number |
3 |
Specifies maximum number of retries when polling bluesam status is failing. |
4.5.0 |
|
|
string[] |
Specifies the list of bluesam datasets whose index metadata will be pre-loaded into a permanent in-memory cache at application startup. Note: - Indexes are loaded on ApplicationReadyEvent and persist for the full application lifecycle. - Only effective for large datasets. |
||
|
|
boolean |
false |
Specifies whether to cache any bluesam datasets during open. Warning: Breaking Change in version 5.1.0 - Default value changed from |
5.1.0 |
|
|
int |
5 |
Specifies the multiplier for prefetch window size to determine maximum prefetch window capacity. The maximum capacity is calculated as |
|
|
|
int |
1000 |
Specifies the number of records to prefetch and cache in memory for Redis cache optimization. This property is only effective when using Redis cache. |
|
|
|
int |
1000 |
Batch size for Redis cache clear operations when |
|
|
|
int |
1500 |
Batch size for Redis deleteAll operations to optimize performance when working with large datasets. |
|
|
|
boolean |
false |
Enable batch processing for Redis cache clear operations when working with large datasets. |
|
|
|
int |
1500 |
Batch size for Redis cache read operations (bulk read from cache by IDs). |
|
|
|
int |
1000 |
Maximum number of entries retained in the internal offset-tracking map per data set for large data sets (LargeKSDS, LargeESDS) during concurrent multi-threaded writes. When the map exceeds this threshold, it is trimmed to the 10 most recent entries to prevent heap exhaustion while preserving enough entries to avoid NullPointerException from concurrent thread access. Reduce this value if heap pressure is observed during high-volume large dataset bulk loads. |
|
|
|
long |
0 |
Maximum number of index entries allowed in the metadata warm-up cache. Set to 0 for unlimited. Note: - This is a global limit across all datasets configured in - When the limit is reached, additional indexes are skipped with a warning log. |
|
|
|
boolean |
true |
Specifies whether to cache database metadata. |
|
|
|
string |
CP1145 |
Card encoding: to be used with |
|
|
|
boolean |
true |
Specifies whether to check groovy files content before registering. |
|
|
|
boolean |
false |
Specifies whether to release a check if the file size is a multiple of record size. |
|
|
|
string |
CP297 |
The encoding of CL files. Expects a valid
encoding |
|
|
|
string |
EBCDIC_STRICT |
The mode for encoding or decoding control language (CL) commands. Allowed values
are |
|
|
|
string |
true |
Specify if the files contain headers that should not be included when counting the rows. |
|
|
|
boolean |
true |
Specifies whether to purge the contents of the temporary files folder at application startup. |
|
|
|
boolean |
false |
Specifies whether to activate pre construction of program context. |
|
|
|
number |
100 |
The interval between each run of the task that adjusts the size of the pool. |
|
|
|
number |
2 |
The number of instances that will be created the first time a context is needed. |
|
|
|
number |
5 |
The number of threads used to produce the missing instances in the queue when the adjustment task runs. |
|
|
|
boolean |
true |
Specifies whether to allow the cursor overflow. Set to |
|
|
|
boolean |
false |
Specifies whether to enable raising SQLCODE error 502 when an already opened cursor is opening. |
|
|
|
boolean |
false |
Specifies whether to allow SQL builders to collect and display statistics information. |
|
|
|
boolean |
false |
When set to true, it ensures that no ByteRange is created with improper values. The default is false. |
|
|
|
string |
IEEE_754 |
The double floating type is the format used to encode and decode a floating-point number. Allowed values are |
4.7.0 |
|
|
string |
PFD |
numproc compiler specification. Allowed values are |
|
|
|
string |
reject |
How to react when decoding invalid numeric data. Allowed values are |
|
|
|
boolean |
true |
When set to true, bytes containing invalid BCD nibbles (hex digits |
|
|
|
Standard spring datasource with subkeys |
Contains the connection information for the Blusam database. Alternately, use of AWS secrets is strongly encouraged, as explained in Blusam database. |
||
|
|
Standard spring datasource with subkeys |
Contains the connection information for the Jics database. Alternately, use of AWS secrets is strongly encouraged, as explained in JICS database. |
||
|
|
string |
ISO |
The dateTimeFormat describes how to spill database date time timestamp type into data
simplifier entities. Allowed values are |
|
|
|
string |
yyyy-MM-dd |
The db target date format. |
|
|
|
string |
HH:mm:ss |
The db target time format. |
|
|
|
string |
yyyy-MM-dd HH:mm:ss.SSSSSS |
The db target timestamp format. |
|
|
|
boolean |
false |
Specifies whether to set the dataset default previous value. |
|
|
|
boolean |
false |
Specifies whether to release a check on file existence for Dataset with DISP SHR or OLD. |
|
|
|
boolean |
false |
Specifies whether to enable active program ID local cache. Use carefully this feature because JICS resources can be shared amongst programs and users. Those resources can be changed externally by any administrators and the local cache put in place might be invalidated. |
|
|
|
string |
ASCII |
The encoding used in projects (not in groovy files). Expects a valid
encoding |
|
|
|
datasize (example: 12 MB) |
The sort threshold: determines when the system should switch from in-memory to external merge sorting using temporary files on the file system.
If not specified (default= |
||
|
|
number |
The fetchSize value for cursors. Use when fetching data using chunks by load/unload utils. |
||
|
|
boolean |
false |
Specifies whether to enable writing to logger instead of the default system output
stream in the default |
|
|
|
string |
The directory for batches input/output files. |
||
|
|
string |
Forces the date to the date provided if there is one. |
||
|
|
boolean |
false |
Specifies whether to disable trim of all sql string parameters. |
|
|
|
boolean |
false |
Specifies whether to use Human Readable SYSPRINT, either on console or file output. |
|
|
|
boolean |
true |
Specifies whether to freeze the date. Applies only if |
|
|
|
string |
Specifies the forced date mode. When set to |
||
|
|
string |
|
When |
|
|
|
string |
|
When |
|
|
|
string |
|
Toggle global security configuration (XSS, CORS, CSRF, OAUTH authentication...).
Allowed values are |
|
|
|
string[] |
|
The list of origins to allow. This option requires
|
|
|
|
string[] |
null |
The list of URIs to block. This option is required when
|
|
|
|
string |
|
The claim attribute that contains the list of all the groups a user belongs to. Use
|
|
|
|
string[] |
null |
The list of custom headers to allow. This option requires |
4.8.0 |
|
|
string |
|
Toggle filtering URIs configuration. Allowed values are |
|
|
|
string |
null |
Global authentication method. Recommended value is |
|
|
|
string |
null |
The issuer URI of the identity provider (IdP). This option is required when
|
|
|
|
string |
|
The claim attribute name used to identify a user request. Use |
|
|
|
boolean |
false |
Enables a CBLQDA feature that controls QSAM files' dynamic allocation during an OPEN statement. This configuration helps to dynamically allocate temporary files declared in the program, even if the files are not defined in the JCL script. |
|
|
|
boolean |
false |
Enables a memory optimization feature that control which database schemas are cached by a application. This configuration helps reduce memory footprint while maintaining system stability by intelligently managing schema metadata. It automatically includes some common database system schemas which maybe required for proper operation. |
4.9.0 |
|
|
list<String> |
null |
Defines a list of schemas that should be cached. |
4.9.0 |
|
|
boolean |
false |
Enables transaction recovery in case of failure by using savepoints on insert queries. Enabling this property may impact database performance. You can override this setting for specific queries using the query-to-database mapping configuration. |
4.6.0 |
|
|
integer |
8192 |
Sets the buffer size (in bytes) for |
|
|
|
string |
null |
Specifies line separator type in gapwalk. The allowed values are WIN (CRLF) / UNIX (LF) / LINUX (LF). Other values are ignored and System line.sepatator property is used. |
|
|
|
boolean |
false |
Specifies whether the |
|
|
|
boolean |
false |
Indicated to set the following |
|
|
|
string |
null |
Set the value to the system property |
|
|
|
string |
null |
Set the value to the system property |
|
|
|
string |
null |
Set the value to the system property |
|
|
|
string |
null |
Set the value to the system property |
|
|
|
string |
null |
Set the value to the system property |
|
|
|
string |
|
GDG directory path is the directory where the gdg files are stored. |
4.6.0 |
|
|
boolean |
false |
Specifies whether to set the extended size on IMS messages. |
|
|
|
string |
List of IMS programs to use. Separate each parameter with a semicolon ( |
||
|
|
boolean |
true |
Specifies whether invalid data is tolerated for packed type. |
|
|
|
boolean |
false |
Specifies if JCL checkpoint mechanism is enabled to allow job restart. JCL checkpoints are created and saved to the in-memory registry at the start of each step or main program invocation. All the step level checkpoints are persisted at the end of the job, if persistence provider is defined. |
|
|
|
number |
-1 |
Specifies time duration to retain JCL checkpoints in the persistence provider or in-memory registry. |
|
|
|
string |
SECONDS |
Specifies time duration unit for the |
|
|
|
string |
null |
Specifies JCL checkpoint mechanism persistence provider. Allowed values are
|
|
|
|
Supported Redis properties |
Specifies configuration properties for JCL checkpoint mechanism's REDIS persistence provider, see Supported Redis properties. |
||
|
|
boolean |
true |
Specifies how null JCL statements (//) are handled during job execution. When true, // terminates the job immediately (EOF mode). When false, // is treated as a null statement and execution continues (IGNORE mode). |
|
|
|
string |
file:./setup/ |
If |
|
|
|
string |
none |
The checkpoint persistence mode. Allowed values are |
|
|
|
string |
CP297 |
The JHDB (Java Hierarchical Database) encoding. Expects a valid encoding
string |
|
|
|
string |
Used to hard-code some "operator identification card data" to the MID field designated by the CARD parameter. Blank by default, no input restriction. |
||
|
|
string |
Allow you to force a common logical terminal ID in the case of an IMS emulation. If not set then sessionId is used. |
||
|
|
string |
file:./setup/ |
A configuration parameter that specifies an extra, runtime-specific root folder for psbs and dbds folders. |
|
|
|
number |
5000 |
The cache duration (in milliseconds) used in hierarchical navigation for an RDBMS. |
|
|
|
boolean |
true |
Specifies whether to use the limit join usage parameter on RDBMS graphs. |
|
|
|
boolean |
true |
Specifies whether to enable a database prefix in hierarchical navigation for an RDBMS. |
|
|
|
string |
|||
|
|
string |
Defines the path to SQL scripts used for initializing the JICS database. Accepts a comma-separated list of files and directories, allowing for multiple scripts and folders to be specified. |
||
|
|
string |
Location of a sql script containing a single sql query that is expected to return a
count of objects (for example: counting number of records in the jics program table). If the
count equals 0, database will be loaded using the |
||
|
|
string |
The Jics DDL script location. Allows you to initiate the Jics database schema using a
.sql script. Blank by default. For example, |
||
|
|
string |
Location of the sql file that should contain a unique query that returns the number of objects in the jics schema (if any). |
||
|
|
string |
The initialize JICS list, separated by commas. If present, it defines comma-separated
names of lists to activate at Apache Tomcat startup among CICS lists. Example value:
|
||
|
|
string |
CP037 |
The encoding of the JCL scripts written in the dedicated JICS queue. |
|
|
|
string |
JICS |
The name of the queue to which JCL scripts can be written line by line at runtime. |
|
|
|
string |
VELOCITY |
The applied to identify application in JICS (at least 4 characters, no max length). |
|
|
|
string |
CP037 |
JICS globally used character set. |
|
|
|
number |
0 |
The length of the common work area (CWA). |
|
|
|
string |
MMDDYY |
The date form. |
|
|
|
string |
TERM |
The terminal identifier (4 characters maximum, 1 minimum). |
|
|
|
string |
MJOBNAME |
The job name. |
|
|
|
string |
MYNETNAME |
The network name (8 characters maximum, 1 minimum). |
|
|
|
string |
XXX |
The 3-character operator identification. |
|
|
|
string |
CICS |
The system identification (SYSID). |
|
|
|
string |
SYSNAME |
The AS400 system name (sysname). |
|
|
|
string |
bluesam |
JICS Temporary Storage Queue (TSQ) implementation (allowed values
are |
|
|
|
string |
The user id (8 characters maximum, no minimum). When no value is provided (blank by default) the HTTP session id is used as the user id. |
||
|
|
string |
MYUSERNAME |
The username (10 characters maximum, 1 minimum). |
|
|
|
string |
eu-west-1 |
The AWS Region for Amazon Simple Queue Service, used in JICS. |
|
|
|
Supported Redis properties |
Specifies configuration properties for the JICS TS Queues Redis server, see Supported Redis properties. |
||
|
|
Supported Redis properties |
Specifies configuration properties for the JICS Redis server connection factory, see Supported Redis properties. |
||
|
|
boolean |
false |
Specifies whether to activate the run unit launcher pool in JICS. |
|
|
|
number |
2 |
The number of threads used to produce the missing instances in the queue when the adjustment task runs. |
|
|
|
number |
20 |
The run unit launcher pool size in JICS. |
|
|
|
number |
1000 |
The interval between each run of the task that adjusts the size of the pool. |
|
|
|
boolean |
false |
Specifies the debug mode for the SMTP server. |
|
|
|
string |
null |
Specifies the SMTP server host. Example: |
|
|
|
string |
null |
Specifies the login password of the SMTP server. |
|
|
|
string |
null |
Specifies the SMTP server port. Example: 25 |
|
|
|
string |
null |
Specifies the username of the SMTP server. |
|
|
|
number |
|||
|
|
string |
Specifies the database type used in the Jildb backend, for example, Oracle. |
||
|
|
Standard spring datasource with subkeys |
Contains the connection information for the Jics database. |
||
|
|
int |
10000 |
Specifies the wait timeout period, in milliseconds, for the record holding mechanism in Jildb. |
|
|
|
string |
CP1047 |
Specifies the default encoding which is used to initialize the job level storage. For example, switches in BLU4IV application uses this encoding to initialize to zeroes. |
4.9.0 |
|
|
string |
|
The list of URL parameters to add to the MDC when executing Groovy batch script. |
|
|
|
string |
List of local date formats.Separate each format with |
||
|
|
string |
List of local time formats. Separate each format with |
||
|
|
string |
List of local timestamp formats. Separate each format with |
||
|
|
number |
500 |
The lock timeout, in milliseconds. |
|
|
|
Path |
classpath:logback-main.xml |
Standard key for the reference to the logback configuration file. Other standard logging keys are available too. |
|
|
|
string |
&,@,%% |
List of prefixes to be used when transforming controlM variables. Each one separated by comma. |
|
|
|
boolean |
true |
Enables null insertion for MF nature line-sequential files. |
4.4.0 |
|
|
boolean |
false |
Enables insertion of tab characters in MF nature line-sequential files. |
4.4.0 |
|
|
boolean |
false |
Indicate whether to share or recreate the JMS connection pool with the same Queue Manager. |
4.9.0 |
|
|
string |
|
Specifies which supported queue brocker to use among |
|
|
|
boolean |
false |
Specifies the default behavior for MQ PUT commands when neither MQPMO_SYNCPOINT nor
MQPMO_NO_SYNCPOINT are set. When set to true, it acts as |
|
|
|
Supported Atomikos connection factory properties |
Specifies configuration properties for the JMS MQ connection pool. |
||
|
|
When |
|||
|
|
string |
null |
The IBMMQ application name. |
|
|
|
string |
null |
The IBMMQ channel name. |
|
|
|
string |
null |
The IBMMQ hostname. |
|
|
|
number |
0 |
The IBMMQ maximum pool size . With 0, an infinite number of physical connections are enabled. |
|
|
|
string |
null |
The IBMMQ user password. Alternately, use of AWS secrets is strongly encouraged, as explained in Secret manager for IBM MQ password settings. |
|
|
|
number |
null |
The IBMMQ port. |
|
|
|
string |
null |
The IBMMQ queue manager name. |
|
|
|
string |
null |
The IBMMQ SSL cipher suite. An example could be |
|
|
|
string |
null |
The IBMMQ user name. |
|
|
|
boolean |
false |
Indicate whether target client for sending messages to is non-JMS. Native MQ format will be used for non-JMS client while RFH2 format will be used for JMS. |
4.5.0 |
|
|
string |
null |
The Rabbit MQ hostname. |
|
|
|
string |
null |
The Rabbit MQ password. |
|
|
|
number |
null |
The Rabbit MQ port. |
|
|
|
string |
null |
The Rabbit MQ user. |
|
|
|
string |
null |
The Rabbit MQ virtual hostname. |
|
|
|
string |
eu-west-3 |
The AWS Region for the AWS SQS MQ service. |
|
|
|
string |
yyyy-MM-dd |
The date time format. |
|
|
|
string |
HH.mm.ss |
The time format used for pgm (programs) execution. |
|
|
|
string |
yyyy-MM-dd-HH.mm.ss.SSSSSS |
The timestamp format. |
|
|
|
number |
-1 |
Specifies a timeout for any program/transaction execution in seconds. After this time, the system will try to interrupt the program. |
|
|
|
number |
0 |
To specify when |
|
|
|
boolean |
false |
Whether to enable QTEMP Database logging. |
|
|
|
number |
9 |
The QTEMP unique id length. |
|
|
|
boolean |
false |
Specifies whether to trigger job execution if the job scheduler is in standby mode. If true, When enabled job execution is not triggered. |
|
|
|
boolean |
false |
Specifies whether key condition is built by key concatenation or not. |
|
|
|
string |
|
The report output path. |
|
|
|
boolean |
false |
Specifies whether to return HTTP response code of 500 series for unsuccessful synchronized job execution. |
4.10.0 |
|
|
boolean |
false |
Specifies whether to rollback implicit run unit transaction on runtime exceptions. |
|
|
|
long |
5 |
The thread limit for triggering scripts. |
|
|
|
string |
30m |
Specifies the session timeout duration. Examples: |
|
|
|
string |
cookie |
Specifies the session tracking modes to use. Possible values are |
|
|
|
string |
null |
Load the AWS credentials from the credential profiles file in JICS. |
|
|
|
string |
null |
Specifies the credential secret ARN for Bluesam locks Redis cache, see AWS Transform for mainframe Runtime secrets. |
|
|
|
string |
null |
Specifies the credential secret ARN for Bluesam Redis cache, see AWS Transform for mainframe Runtime secrets. |
|
|
|
string |
null |
Specifies the credential secret ARN for JCL checkpoint mechanism's Redis persistence provider, see AWS Transform for mainframe Runtime secrets. |
|
|
|
string |
null |
Specifies the credential secret ARN for JICS TS Queues Redis server, see AWS Transform for mainframe Runtime secrets. |
|
|
|
string |
null |
Specifies the credential secret ARN for JICS Redis server connection factory, see AWS Transform for mainframe Runtime secrets. |
|
|
|
boolean |
false |
Standard key. If the datasource support mode is not static-xa, spring JTA transactions autoconfiguration must be disabled. |
|
|
|
string |
none |
The session cache for high-availability environments. Possible values
are |
|
|
|
number |
Optional. The sql code point shift. Shifts the codepoint for control characters that we
might encounter when migrating legacy RDBMS data to a modern RDBMS. For example, you can
specify |
||
|
|
boolean |
true |
Enables automatic commit of current connection during connection reset operations. When enabled, automatically commits the current connection before switching to a new datasource connection in non-XA environments to prevent connection instability. When disabled, logs a warning message about potential connection issues during reset operations. |
4.10.0 |
|
|
boolean |
false |
Specifies whether to allow the SQL integer overflow, meaning whether placing larger values in the host variable is allowed. |
|
|
|
string |
|
Specify whether to initialize default job at first transaction. |
|
|
|
boolean |
true |
Specifies whether to raise an abend if a step fails or completes execution. |
|
|
|
boolean |
true |
Specifies whether to stop running if a program isn't found. If set to |
|
|
|
string |
MDY |
The system date format DATFMT. |
--- |
|
|
string |
/ |
The system date separator DATSEP. Possible values are slash (`/`), dash (`–`), period (`.`), comma (`,`) or blank (` `). Value needs to be specified in double quotes `""`. |
5.17.0 |
|
|
string |
|||
|
|
boolean |
false |
Specifies whether to allow core threads to time out in JCIS. This enables dynamic growing and shrinking even in combination with a non-zero queue (since the max pool size will only grow once the queue is full). |
|
|
|
number |
5 |
When a transaction in a terminal is initiated via a groovy script, a new thread is created. Use this parameter to setup the core pool size. |
|
|
|
number |
10 |
When a transaction in a terminal is initiated via a groovy script, a new thread is created. Use this parameter to setup the max pool size (max number of parallel threads). |
|
|
|
number |
50 |
When a transaction in a terminal is initiated via a groovy script, a new thread is
created. Use this parameter to setup the queue size. (= maximum number of pending
transactions when |
|
|
|
string |
null |
Specifies the name of the folder location of the temporary files that are generated. |
|
|
|
string |
null |
Specifies a pattern that will be used to dynamically build the name of the temporary folder based on the following predefined and customizable information. HOST: the host name. JOBID: the ID of the job. HASHCODE: the hash code of the job context. TIMESTAMP: the pattern to use when getting the timestamp. Target name of the temporary
folder is TMP_DIR_{tempFolderPattern}. For example, in the case of the following pattern,
the name will start with the job ID and end with the “timestamp”: tempFolderPattern:
JOBID,HOST=xxxxx,HASHCODE,TIMESTAMP=yyyymmddhhmmss. If the property
|
|
|
|
boolean |
true |
Specifies whether user input must be in uppercase. |
|
|
|
boolean |
false |
Specifies whether to use control-M specification for variable replacement. |
|
|
|
boolean |
true |
Determines the formatting style of the generated XML output within the XmlGenerator class. When set to |
4.8.0 |
Available properties for optional web applications
Depending on your modernized application, you might need to configure one or more optional web applications that represent support for dependencies such as z/OS, AS/400, or IMS/MFS. The following tables contain lists of the available key/value parameters for configuring each optional web application.
gapwalk-utility-pgm.war
This optional web application contains support for Z/OS utility programs.
This table provides an exhaustive view of key/values parameters for this application.
| Key | Type | Default value | Description | Release version |
|---|---|---|---|---|
|
|
boolean |
true |
Specifies whether to convert graphic data to full-width format. |
|
|
|
string |
ASCII |
The encoding used in utility programs. Expects a valid encoding
|
|
|
|
string |
|
Forces the date to the date provided if there is one. |
|
|
|
boolean |
true |
Specifies whether to freeze the date. Applies only if |
|
|
|
string |
Specifies the forced date mode. When set to |
||
|
|
boolean |
false |
Whether the INFUTILB utility needs to handle GRAPHIC DB2 columns. |
|
|
|
boolean |
false |
Whether the IDCAMS DELETE command should also remove matching files from every sub-folder of the files directory. |
5.155.0 |
|
|
string |
The encoding used in IDCAMS utility program. Expects a valid encoding
|
4.4.0 | |
|
|
boolean |
false |
If set to true, IDCAMS REPRO will early fail if an output Blusam dataset, having either SHR or OLD disposition, is missing. |
5.185.0 |
|
|
string |
mvs |
.jcl file type. Allowed values are |
|
|
|
boolean |
false |
Set this parameter to |
|
|
|
number |
0 |
The load utility batch size. |
|
|
|
string |
yyyy-MM-dd |
The load utility database format to use. |
|
|
|
string |
HH:mm:ss |
The load utility database time to use. |
|
|
|
string |
dd.MM.yyyy\dd/MM/yyyy\yyyy-MM-dd |
The load utility local date format to use. |
|
|
|
string |
HH:mm:ss\HH.mm.ss |
The load utility local time format to use. |
|
|
|
number |
0s |
The SQL code pointshift for load utility. Runs the shifting characters process. Required when your target database from DB2 is Postgresql. |
|
|
|
Path |
classpath:logback-utility.xml |
Standard key for the reference to the logback configuration file. Other standard logging keys are available too. |
|
|
|
Standard spring datasource with subkeys |
|
Contains the connection information for the application database, if not using JNDI. Must have the same configuration as in the modernized application YAML file. Alternately, use of AWS secrets is strongly encouraged, as explained in Client database. |
|
|
|
string |
jdbc/primary |
The JNDI name (Java Naming And Directory Interface) for the primary datasource, if using JNDI. |
|
|
|
boolean |
false |
Standard key. If the datasource support mode is not static-xa, spring JTA transactions auto configuration must be disabled. |
|
|
|
string |
ASCII |
The syspunch encoding character set. Expects a valid
encoding |
|
|
|
string |
ASCII |
The encoding character set of SYSTIN file dataset. Expects a valid
encoding |
4.5.0 |
|
|
boolean |
false |
Specifies whether to treat large numbers as |
|
|
|
boolean |
false |
Specifies whether to handle INTO bmc control keyword for unload utility. |
|
|
|
number |
0 |
Chunk size used for unload utility. |
|
|
|
string |
space |
The unload utility column filler. |
|
|
|
boolean |
false |
Determines whether to compute the record size if not specified. If specified, the value remains unchanged. |
|
|
|
number |
0 |
Allows you to tune the fetch size when handling cursors in the unload utility. |
|
|
|
string |
MM/dd/yyyy |
If |
|
|
|
string |
HH.mm.ss |
If |
|
|
|
string |
yyyy-MM-dd-HH.mm.ss.SSSSSS |
If |
|
|
|
hexadecimal |
00 |
The Null Byte Indicator (NBI) value to add when value from database is not null. |
|
|
|
hexadecimal |
6F |
The Null Byte Indicator (NBI) value to add when value from database is null. |
|
|
|
boolean |
false |
Specifies whether to write out the null indicator in the unload output file. |
|
|
|
boolean |
true |
Indicates that variable-length character (VARCHAR) fields are to be unloaded without any padding to the maximum length. |
4.5.0 |
|
|
number |
0 |
The SQL code pointshift for unload utility. Runs the shifting characters process. Required when your target database from DB2 is Postgresql. |
|
|
|
boolean |
false |
Specifies whether to use the date or time configuration from application-main.yml in unload utility. |
|
|
|
boolean |
false |
Use this parameter in INFTILB program, if set to |
|
|
|
string |
EBCDIC_STRICT |
The mode for encoding or decoding zoned data types. Allowed values
are |
gapwalk-cl-command.war
This optional web application contains support for AS/400 utility programs.
This table provides an exhaustive view of key/values parameters for this application.
| Key | Type | Default value | Description |
|---|---|---|---|
|
|
string |
|
List of commands to turn off, separated by comma. Allowed values
are |
|
|
string |
ASCII |
The encoding used in utility programs. Expects a valid
encoding |
|
|
string |
|
Forces the date to the date provided if there is one. |
|
|
string |
|
Specifies the forced date mode. When set to |
|
|
Path |
classpath:logback-utility.xml |
Standard key for the reference to the logback configuration file. Other standard logging keys are available too. |
|
|
Standard spring datasource with subkeys |
|
Contains the connection information for the application database, if not using JNDI. Must have the same configuration as in the modernized application YAML file. Alternately, use of AWS secrets is strongly encouraged, as explained in Client database. |
|
|
string |
jdbc/primary |
The JNDI name (Java Naming And Directory Interface) for the primary datasource, if using JNDI. |
|
|
boolean |
false |
Standard key. If the datasource support mode is not static-xa, spring JTA transactions auto configuration must be disabled. |
|
|
string |
EBCDIC_STRICT |
The mode for encoding or decoding zoned data types. Allowed values
are |
gapwalk-hierarchical-support.war
This optional web application contains IMS/MFS transaction support.
This table provides an exhaustive view of key/values parameters for this application.
| Key | Type | Default value | Description |
|---|---|---|---|
|
|
string |
Jhdb backend type. Expected value is |
|
|
|
string |
none |
The checkpoint persistence mode. Allowed values are |
|
|
string |
|
The JHDB (Java Hierarchical Database) encoding. Expects a valid encoding
string |
|
|
boolean |
false |
Whether to keep _parent and _logicalparent during IMS insertion. When set to true the IMS ISRT call will insert _parent and _logicalparent into database columns. |
|
|
int |
-1 |
Specifies a timeout for any jhdb transaction execution in seconds. After this time, the system will try to interrupt the program. No timeout is set if the value is -1 (default). |
|
|
string |
list of programs to be declared as a whole transaction. Separate each program with a comma ( |
|
|
|
Path |
classpath:logback-utility.xml |
Standard key for the reference to the logback configuration file. Other standard logging keys are available too. |
|
|
string |
Standard spring datasource with subkeys |
Contains the metadata information for the jhdb database, including psbs, dbds, connections. Alternately, use of AWS secrets is strongly encouraged. |
|
|
boolean |
false |
Standard key. If the datasource support mode is not static-xa, spring JTA transactions auto configuration must be disabled. |
Available properties for the client application
Your modernized application may require specific property configurations for the client
Spring application. These properties initialize beans from classes packaged in runtime JAR files.
The application-profile.yaml file, where the profile value is set during
application generation, allows you to configure these properties. The following table lists the
key/value parameters available for configuring the client web application that uses beans from
classes packaged in the Gapwalk runtime
| Key | Type | Default value | Description | Release version |
|---|---|---|---|---|
|
|
boolean |
false |
Enable the In-memory cache. |
4.8.0 |
|
|
boolean |
false |
Add the tracking of number of requests to the cache. |
4.8.0 |
|
|
string |
The list of database tables to be cached. |
4.8.0 | |
|
|
string |
The program's identifiers where the cache should be activated for the specified tables. The cache is available for all sub-programs in the execution stacks. |
4.8.0 | |
|
|
number |
10000 |
The size of the cache. |
4.8.0 |
|
|
number |
10 |
The size of the internal cache for input DAO operations. This cache exists at the program level (single instance). |
4.9.0 |
|
|
string |
The sort function name for the blu4iv database. |
4.9.0 | |
|
|
string |
JPA |
Specifies the data access implementation to use (JPA or JDBC). |
4.9.0 |
|
|
boolean |
false |
Controls the usage of library in the context of data area operations. If set to true, library usage is disabled for data area operations, but this does not affect the usage of QTemp. If set to false, library is considered when performing CRUD operations for data area. |
4.5.0 |
|
|
boolean |
false |
Enable the use of the library list to resolve a file library. |
4.10.0 |
|
|
string |
The initial list of libraries ordered from left to right. |
4.10.0 |
Configure the In-Memory cache for AS400 applications
The in-memory cache feature enables users to cache read-only data within memory, significantly improving performance for data-intensive programs. The cache system optimizes performance in three ways: loading data only on first access, creating data access maps on demand, and storing cached data efficiently near program memory. This design minimizes memory overhead while maximizing speed improvements.
################################################################### # Cache configuration for read operations called from DAO classes # ################################################################### blu4iv: dao: cache: enabled: true enabledHits: true initMaxResults: 100000 entries: - fileIds: [${TABLEA}] programIds: [${PROGRAM1}] - fileIds: [${TABLEB},${TABLEC}] programIds: [${PROGRAM2}] librarylist: enabled: true libraries: ["LIBA","LIBC","LIBE"]
Configure API access logging
The API access logging feature records detailed information about API requests to BAC, JAC, and Gapwalk applications, helping meet security requirements by tracking who accessed what and when.
| Key | Type | Default value | Description | Release version |
|---|---|---|---|---|
|
|
boolean |
false |
Enables API access logging for BAC, JAC, and Gapwalk applications. When enabled, logs all API requests with details. |
5.0.0 |
When enabled, user can provide logback file configuration to log API access logs in chosen place using the logger name api.access. The logs can include the following MDC fields:
| MDC Field | Description |
|---|---|
|
|
Where the API is hosted |
|
|
The date and time when the API request was made |
|
|
How long it took to process the API request (milliseconds) |
|
|
The source address that the API request came from |
|
|
The type of HTTP request made (e.g., GET, POST, DELETE, ...) |
|
|
The endpoint/URI that was accessed |
|
|
The status code returned after the API request completed |
|
|
The transfer protocol used, for example, HTTP or HTTPS. |
|
|
The security method used to protect the API call (e.g., OAuth2, Token, Anonymous) |
|
|
A unique identifier for the user's current login session |
|
|
The username or identifier of the person making the API request |
To configure a dedicated log file for API access logs, add the following to your logback configuration:
<!-- File appender --> <appender name="ApiAccessFile" class="ch.qos.logback.core.FileAppender"> <file>logs/main/main-api-access.log</file> <immediateFlush>true</immediateFlush> <encoder> <pattern>%date %X{api-scheme} %X{api-host} %X{api-method} %X{api-name} - Return code: %X{api-retcode} - Start date: %X{api-date} - Duration: %X{api-duration} ms - User: %X{api-user} - SessionId: %X{api-sessionid} - SecureMethod: %X{api-secure} %n</pattern> </encoder> </appender> <logger name="api.access" level="info" additivity="false"> <appender-ref ref="ApiAccessFile" /> <appender-ref ref="CONSOLE" /> </logger>
Sample log output:
2025-06-13 22:24:36,174 http 127.0.0.1 GET /bac/api/services/rest/bluesamservice/listDataSet - Return code: 200 - Start date: 06-13-2025 22:24:35.863+0200 - Duration: 308 ms - User: velocity_admin - SessionId: 1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X- SecureMethod: Oauth2
Configure Distributed Tracing
The distributed tracing feature enables end-to-end request tracking across GapWalk applications by propagating traceId and spanId from HTTP requests, allowing correlation of logs across the entire request lifecycle.
| Key | Type | Default value | Description | Release version |
|---|---|---|---|---|
|
|
boolean |
false |
Enables distributed tracing for GapWalk applications. When enabled, propagates traceId and spanId for batch job execution. |
When enabled, the tracing feature propagates trace context. The logs can include the following MDC fields:
| MDC Field | Description |
|---|---|
|
spanId |
Unique identifier for the current operation within the trace |
|
traceId |
Unique identifier for the entire request flow across all services and threads |
To configure distributed tracing, update your logback configuration to include traceId and spanId in the log pattern. Add or update the following property:
<property name="DEFAULT_LOG_PATTERN" value="%date{yyyy-MM-dd HH:mm:ss} %-15.15contextName %-5.5level [%X{traceId:-},%X{spanId:-}] - %-40.40logger{15} - %msg%n" />
Sample log output:
2026-02-02 20:00:00 default INFO [6966b3c1dc96c2da73be7e2b6f9f25dc,73be7e2b6f9f25dc] - q.t.s.i.TestJobProcessImpl - Length is: 100