

**AWS 大型机现代化自我管理体验**不再向新客户开放。要获得与 AWS 大型机现代化自我管理体验相似的功能，请探索供应商直销产品和来自的功能。 AWS Transform现有客户可以继续正常使用该服务。有关更多信息，请参阅[AWS 大型机现代化可用性变更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

**AWS 大型机现代化服务（托管运行时环境体验）**不再向新客户开放。要了解与 AWS 大型机现代化服务（托管运行时环境体验）类似的功能，请浏览 AWS 大型机现代化服务（Self-Managed体验）。现有客户可以继续正常使用该服务。有关更多信息，请参阅[AWS 大型机现代化可用性变更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 启用以下项的属性 AWS 大型机运行时转型
<a name="ba-runtime-key-value"></a>

在 Spring Boot 应用程序中，我们可以在 `application-main.yml` 配置文件中定义不同类型的属性，例如侦听端口、数据库连接等。您可以使用此页面来了解大型机运行时 AWS 转换的可用属性以及如何启用这些属性。

**Topics**
+ [YML 表示法](#ba-runtime-key-value-yml)
+ [快速入门/用例](#ba-runtime-key-value-use-cases)
+ [主应用程序的可用属性](#ba-runtime-key-value-main)
+ [可选 Web 应用程序的可用属性](#ba-runtime-key-value-web)
+ [客户端应用程序的可用属性](#ba-runtime-key-value-client)
+ [配置 API 访问日志](#ba-runtime-api-access-logging)
+ [配置分布式跟踪](#ba-runtime-distributed-tracing)

## YML 表示法
<a name="ba-runtime-key-value-yml"></a>

在以下文档中，属性（例如 `parent.child1.child2=true`）写为如下 YAML 格式。

```
 parent:
  child1:
    child2: true
```

## 快速入门/用例
<a name="ba-runtime-key-value-use-cases"></a>

以下用例显示了适用的键和值的示例。
+ 默认 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
  ----
  ```
+ 在 LISTCAT 命令中使用长度可变的文件

  ```
  [**/*.*]
  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)
  ```
+ 在 LOAD/UNLOAD 实用程序中提供空字节指示值

  ```
  # 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
  ```

## 主应用程序的可用属性
<a name="ba-runtime-key-value-main"></a>

此表提供了详尽的 key/values 参数视图。

**注意**  
如果您要迁移到 5.1.0 或更高版本并使用具有默认打开行为的 bluesam：WarmUp   
的默认值`bluesam.openWarmUp`已从`true`更改为 `false`
要保持现有行为，必须明确设置 `bluesam.openWarmUp=true`


| Key | Type | 默认 值 | 说明 | 发行版 | 
| --- | --- | --- | --- | --- | 
| `blockSizeDefault` | 数字 | 32760 | 用于 BDW 字节的默认区块大小。 |  | 
| `blu4iv.dataaccess.useOldDaoDesign` | 布尔值 | false | 一个全局标志，用于确定应用程序是使用旧的 DAO 架构还是新的。这取决于 DAO 是使用旧设计还是使用新设计生成的。 |  | 
| `blu4iv.userspace.batchThreshold` | int | 1 | 指定对用户空间进行更新或设置操作的次数，之后用户空间将保留在外部数据存储库中。 | 5.75.0 | 
| `blu4iv.userspace.pageSize` | int | 4096 | 指定用于为用户空间分配存储空间的页面大小。在任何给定时间，用户空间的大小始终是该指定数字的倍数。 | 4.10.0 | 
| `blu4iv.userspace.redis.*` | 支持的 Redis 属性 |  | 为 redis 存储的用户空间指定配置属性，请参阅[大型机运行时 AWS 转换中可用的 Redis 缓存属性](ba-runtime-redis-configuration.md)。 | 4.10.0 | 
| `blu4iv.userspace.store-type` | 字符串 | memory | 指定用于用户空间注册表的存储类型。支持的值为 memory 和 redis。如果未提供存储类型，则默认使用内存。 | 4.10.0 | 
| `bluesam.bluesamStatusPollingInterval` | 数字 | 1000 | 指定轮询 bluesam 状态以检查在线活动时每次迭代之间的等待时间（以毫秒为单位）。 | 4.5.0 | 
| `bluesam.cache` | 字符串 |  | 如果未设置，则不使用Blusam缓存。可能的值（缓存实现）是 ehcache 和 redis ()。[Redis 缓存属性](ba-runtime-redis-configuration.md#ba-runtime-redis-caches-properties) |  | 
| `bluesam.checkBluesamStatus` | 布尔值 | false | 指定是否在访问 bluesam 数据集之前检查其状态。 | 4.5.0 | 
| `bluesam.datasetPrefetchWindowSize` | String[] |  | 指定每个数据集的预取窗口大小覆盖。每个条目格式:`"datasetName:size"`. 如果数据集未列出，则会回退到全局`bluesam.prefetchWindowSize`值。<br />**注意：**<br />-不要在冒号分隔符周围添加空格。<br />-支持包含`\|`的数据集名称（使用最后一个冒号作为分隔符）。<br />-将条目用双引号括起来，或确保条目中没有空格。<br />-示例：`"fileset1\|MYFILE:10000"` |  | 
| `bluesam.disabled` | 布尔值 | false | 是否Blusam完全禁用。 |  | 
| `bluesam.externalDdlManagement` | 布尔值 | false | 启用后，BlueSAM 不会自动创建表，而是仅通过注册元数据来采用外部管理的表。 |  | 
| `bluesam.fileList` | String[] |  | 指定要在打开期间缓存的 bluesam 数据集列表。<br />**注意：**<br />**-此参数仅在设置`bluesam.openWarmUp`为时有效`false`。** | 5.1.0 | 
| `bluesam.fileLoading.commitInterval` | 数字 | 100000 | bluesam 提交间隔。 |  | 
| `bluesam.maxBluesamDisablingThreadpoolSize` | 数字 | 10 | 指定用于禁用 bluesam 数据集进行批处理的最大线程池大小。 | 4.5.0 | 
| `bluesam.maxBluesamStatusPollingRetry` | 数字 | 3 | 指定轮询 bluesam 状态失败时的最大重试次数。 | 4.5.0 | 
| `bluesam.metadataWarmUpFileList` | String[] |  | 指定 bluesam 数据集列表，其索引元数据将在应用程序启动时预加载到永久内存缓存中。<br />**注意：**<br />-索引已加载 ApplicationReadyEvent 并持续到整个应用程序生命周期。<br />-仅对大型数据集有效。 |  | 
| `bluesam.openWarmUp` | 布尔值 | false | 指定在打开期间是否缓存任何 bluesam 数据集。<br />**警告：版本 5.1.0 中的重大更改 **<br />**-默认值已从更改`true`为`false`。** | 5.1.0 | 
| `bluesam.prefetchWindowMultiples` | int | 5 | 指定预取窗口大小的乘数以确定最大预取窗口容量。最大容量的计算公式为`prefetchWindowSize × prefetchWindowMultiples`。此属性仅在使用 Redis 缓存时有效。 |  | 
| `bluesam.prefetchWindowSize` | int | 1000 | 为优化 Redis 缓存指定要在内存中预取和缓存的记录数。此属性仅在使用 Redis 缓存时有效。 |  | 
| `bluesam.redis.batchClearSize` | int | 1000 | 启用 Redis 缓存清除操作的批量大小。`bluesam.redis.enableBatchClear` |  | 
| `bluesam.redis.clearStrategy` | 字符串 | DEFAULT | 指定缓存清除操作的策略。<br />`DEFAULT`使用 Spring `RedisCache.clear()` 方法。<br />`REDISSON`使用 Redisson `unlinkByPattern` 方法，该方法是集群安全的，可以避免内存不足错误。<br />`REDISSON_BATCHED`对批量过期调用使用 Redisson SCAN 操作，这使您可以最大限度地控制 Redis 的负载。 |  | 
| `bluesam.redis.deleteAllBatchSize` | int | 1500 | Redis DeleteAll 操作的批量大小用于优化处理大型数据集时的性能。 |  | 
| `bluesam.redis.enableBatchClear` | 布尔值 | false | 在处理大型数据集时，为 Redis 缓存清除操作启用批处理。 |  | 
| `bluesam.redis.readBatchSize` | int | 1500 | Redis 缓存读取操作的批量大小（按 ID 从缓存中批量读取）。 |  | 
| `bluesam.sizesCleanUpThreshold` | int | 1000 | 在并发多线程写入期间，大型数据集（largeKSDS、largeESDS）的每个数据集在内部偏移跟踪映射中保留的最大条目数。当映射超过此阈值时，会将其修剪为最新的 10 个条目，以防止堆耗尽，同时保留足够的条目以避免并发线程 NullPointerException 访问。如果在大量大型数据集批量加载期间观察到堆压力，则降低此值。 |  | 
| `bluesam.warmUpMetadataCacheLimit` | 长整数 | 0 | 元数据预热缓存中允许的最大索引条目数。设置为 0 表示无限制。<br />**注意：**<br />-这是中配置的所有数据集的全局限制`bluesam.metadataWarmUpFileList`。<br />-当达到限制时，会跳过其他索引并显示警告日志。 |  | 
| `cacheMetadata` | 布尔值 | true | 指定是否缓存数据库元数据。 |  | 
| `card.encoding` | 字符串 | CP1145 | 卡片编码：与 `useControlMVariable` 一起使用。 |  | 
| `check-groovy-file` | 布尔值 | true | 指定是否在注册前检查 groovy 文件内容。 |  | 
| `checkinputfilesize` | 布尔值 | false | 指定在文件大小为记录大小倍数的情况下是否要进行检查。 |  | 
| `cl.configuration.context.encoding` | 字符串 | CP297 | CL 文件的编码。预期的有效编码包含 `CP1047`、`IBM930`、`ASCII`、`UTF-8`... 默认值为 `CP297`。 |  | 
| `cl.zonedMode` | 字符串 | EBCDIC\_STRICT | 对控制语言 (CL) 命令进行编码或解码的模式。允许的值包括：`EBCDIC_STRICT`、`EBCDIC_MODIFIED`、`AS400`。 |  | 
| `clcommand.rtvmbrd.hasHeader` | 字符串 | true | 指定文件是否包含在计算行数时不应包含的标题。 |  | 
| `cleanTempFilesDirectoryAtStartup` | 布尔值 | true | 指定是否在应用程序启动时清除临时文件文件夹的内容。 |  | 
| `context.preconstruct.enable` | 布尔值 | false | 指定是否激活程序上下文的预构造。 |  | 
| `context.preconstruct.frequencyInMillis` | 数字 | 100 | 每次运行调整池大小的任务之间的间隔。 |  | 
| `context.preconstruct.minInstances` | 数字 | 2 | 首次需要上下文时将创建的实例数量。 |  | 
| `context.preconstruct.parallelism` | 数字 | 5 | 当调整任务运行时，用于在队列中生成缺失实例的线程数。 |  | 
| `database.cursor.overflow.allowed` | 布尔值 | true | 指定是否允许游标溢出。设置为 `true` 时，无论游标位置如何，均可在游标处执行下一次调用。设置为 `false` 时，会在游标处执行下一次调用之前检查游标是否位于最后一个位置。仅在游标可滚动（敏感或不敏感）的情况下将其启用。 |  | 
| `database.cursor.raise.already.opened.error` | 布尔值 | false | 指定是否启用在打开已打开的游标时引发 SQLCODE 错误 502。 |  | 
| `databaseStatistics` | 布尔值 | false | 指定是否允许 SQL 生成器收集和显示统计信息。 |  | 
| `dataSimplifier.byteRangeBoundsCheck` | 布尔值 | false | 当设置为 true 时，它可确保使用不正确的值创建 n ByteRange o。默认值为 false。 |  | 
| `dataSimplifier.cacheDefaultValues` | 布尔值 | false | 设置为 true 时，启用、和子类中`RecordEntity`计算的默认值字节模式的逐实例缓存。`ElementaryRange` `RangeType`默认值为 false。 |  | 
| `dataSimplifier.doubleFloatingType` | 字符串 | IEEE\_754 | 双浮点类型是用于对浮点数进行编码和解码的格式。允许的值为`IEEE_754`/`HFP`（对于十六进制浮点格式）。默认值为 `IEEE_754`。 | 4.7.0 | 
| `dataSimplifier.numproc` | 字符串 | PFD | numproc 编译器规范。允许的值为`PFD`//`NOPFD``MIG`/。默认值为 `PFD`。 |  | 
| `dataSimplifier.onInvalidNumericData` | 字符串 | reject | 解码无效的数字数据时如何应对。允许的值包括：`reject`、`toleratespaces`、`toleratespaceslowvalues`、`toleratemost`。默认值为 `reject`。 |  | 
| `dataSimplifier.zeroInvalidBcdNibbles` | 布尔值 | true | 当设置为 true 时，包含无效 BCD 半字节（十六进制数字 `A`-`F` 以数字位置表示）的字节将被视为打包的十进制解码`00`期间。默认值为 true。 |  | 
| `datasource.bluesamDs` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` \+ -`type` | 带子键的标准 Spring 数据源 |  | 包含Blusam数据库的连接信息。或者，强烈建议使用 AWS 密钥，如[Blusam 数据库](ba-runtime-config-app-secrets.md#blusam-database)中所述。 |  | 
| `datasource.jicsDs` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` \+ -`type` | 带子键的标准 Spring 数据源 |  | 包含 Jics 数据库的连接信息。或者，强烈建议使用 AWS 密钥，如[JICS 数据库](ba-runtime-config-app-secrets.md#jics-database)中所述。 |  | 
| `dateTimeFormat` | 字符串 | ISO | 该日期TimeFormat 描述了如何将数据库日期时间戳类型溢出到数据简化器实体中。允许的值包括：`ISO`、`EUR`、`EUR`、`USA`、`LOCAL` |  | 
| `dbDateFormat` | 字符串 | yyyy-MM-dd | 数据库目标日期格式。 |  | 
| `dbTimeFormat` | 字符串 | HH:mm:ss | 数据库目标时间格式。 |  | 
| `dbTimestampFormat` | 字符串 | yyyy-MM-dd HH:mm:ss.SSSSSS | 数据库目标时间戳格式。 |  | 
| `defaultKeepExistingFiles` | 布尔值 | false | 指定是否设置数据集的默认先前值。 |  | 
| `disposition.checkexistence` | 布尔值 | false | 指定是否针对配置 DISP SHR 或 OLD 的数据集检查文件是否存在。 |  | 
| `enableActivePgmIdCache` | 布尔值 | false | 指定是否启用活动程序 ID 本地缓存。请谨慎使用此特征，因为 JICS 资源可以在程序和用户之间共享。任何管理员都可以在外部更改这些资源，并且所放置的本地缓存可能会失效。 |  | 
| `encoding` | 字符串 | ASCII | 项目中使用的编码（不在 groovy 文件中）。预期的有效编码包含 `CP1047`、`IBM930`、`ASCII`、`UTF-8`... |  | 
| `externalSort.threshold` | 数据大小（例如：12 MB） |  | 排序阈值：确定系统何时应使用文件系统上的临时文件从内存中切换到外部合并排序。如果未指定（default=`null`），则将阈值设置为每个新排序任务可用内存的一半。要估计可用内存，需要调用 System.gc ()。 |  | 
| `fetchSize` | 数字 |  | 游标的 fetchSize 值。通过 utils 使用区块获取数据时使用。 load/unload |  | 
| `file.stdoutIntoLogger` | 布尔值 | false | 指定是否启用写入记录器，而不是 `SYSPRINT` 和 `SYSPUNCH` 文件中的默认系统输出流。 |  | 
| `filesDirectory` | 字符串 |  | 批处理 input/output 文件的目录。 |  | 
| `forcedDate` | 字符串 |  | 强制将日期（如果有）更改为提供的日期。 |  | 
| `forcedDateMode` | 字符串 |  | 指定强制日期模式。设置为时`HYBRID`，日期部分是配置的强制日期，但时间部分反映的是实际的系统时间。仅当也设置了`forcedDate`时才适用。 |  | 
| `forceDisableSQLTrimStringType` | 布尔值 | false | 指定是否禁用所有 sql 字符串参数的 TRIM。 |  | 
| `forceHR` | 布尔值 | false | 指定是否在控制台或文件输出上使用人类可读的 SYSPRINT。 |  | 
| `frozenDate` | 布尔值 | true | 指定是否冻结日期。仅在设置了 `forcedDate` 时适用。 |  | 
| `gapwalk-application.defaultSuperAdminUserName` | 字符串 | `sadmin` | 禁用 `gapwalk-application.security` 时，请指定默认的本地超级用户名。 |  | 
| `gapwalk-application.defaultSuperAdminUserPwd` | 字符串 | `sadmin` | 禁用 `gapwalk-application.security` 时，指定默认的本地超级用户密码。 |  | 
| `gapwalk-application.security` | 字符串 | `disabled` | 切换全局安全配置（XSS、CORS、CSRF、OAUTH 身份验证...）。支持的值包括 `disabled` 和 `enabled`。 |  | 
| `gapwalk-application.security.allowedOrigins` | String[] | `null` | 支持的源列表。此选项要求将 `gapwalk-application.identity` 设置为 `oauth`。 |  | 
| `gapwalk-application.security.blockedURIs` | String[] | null | 要屏蔽的 URI 列表。当 `gapwalk-application.security.filterURIs` 为 `enabled` 时，该属性为必需属性。 |  | 
| `gapwalk-application.security.claimGroupName` | 字符串 | `cognito:groups` | 声明属性，包含用户所属的所有组的列表。对于 Amazon cognito，请使用 `cognito:groups`；对于外部 IdP，请使用任何其他字符串。 |  | 
| `gapwalk-application.security.customAllowedHeaders` | String[] | null | 允许的自定义标头列表。此选项要求将 `gapwalk-application.identity` 设置为 `oauth`。 | 4.8.0 | 
| `gapwalk-application.security.filterURIs` | 字符串 | `disabled` | 切换筛选 URI 配置。支持的值包括 `disabled` 和 `enabled`。 |  | 
| `gapwalk-application.security.identity` | 字符串 | null | 全局身份验证方法。建议值为 `oauth`。支持的值包括 `json` 和 `oauth`。当 `gapwalk-application.security` 为 `enabled` 时，该属性为必需属性。 |  | 
| `gapwalk-application.security.issuerUri` | 字符串 | null | 身份提供者（IdP）的颁发机构 URI。当 `gapwalk-application.identity` 为 `oauth` 时，该属性为必需属性。 |  | 
| `gapwalk-application.security.userAttributeName` | 字符串 | `username` | 用于标识用户请求的声明属性名称。对于 Amazon cognito，请使用 `username`；对于 Keycloak，请使用 `preferred_username`；对于外部 IdP，请使用任何其他字符串。 |  | 
| `gapwalk.cobol.cblqda.enabled` | 布尔值 | false | 启用 CBLQDA 功能，该功能在 OPEN 语句期间控制 QSAM 文件的动态分配。此配置有助于动态分配在程序中声明的临时文件，即使这些文件未在 JCL 脚本中定义。 |  | 
| `gapwalk.database.metadata.schema-inclusion.enabled` | 布尔值 | false | 启用内存优化功能，控制应用程序缓存哪些数据库架构。此配置通过智能管理架构元数据来帮助减少内存占用，同时保持系统稳定性。它自动包含一些常见的数据库系统架构，这些架构可能需要这些架构才能正常运行。 | 4.9.0 | 
| `gapwalk.database.metadata.schema-inclusion.schemas.global` | 清单 <String> | null | 定义应缓存的架构列表。 | 4.9.0 | 
| `gapwalk.database.support.useSavePointToRestoreFail` | 布尔值 | false | 通过在插入查询上使用保存点，在失败时启用事务恢复。启用此属性可能会影响数据库性能。您可以使用查询到数据库的映射配置来覆盖特定查询的此设置。 | 4.6.0 | 
| `gapwalk.io.sequential.readBufferSize` | integer | 8192 | 设置读取顺序文件`BufferedInputStream`时的缓冲区大小（以字节为单位）。增加此值会减少 I/O 读取操作的数量，这可以提高从 Amazon EFS 等网络连接存储读取大型文件时的性能。 |  | 
| `gapwalk.line.separator` | 字符串 | null | 在 gapwalk 中指定行分隔符类型。支持的值为 WIN (CRLF)/UNIX (LF)/LINUX (LF)。其他值将被忽略，并使用 line.sepatator 系统属性。 |  | 
| `gapwalk.post.script.mediatype.json` | 布尔值 | false | 指定是否将端点响应的`Content-Type`标头设置`/post/script/{scriptId:.+}`为`application/json`，具体取决于布尔变量的值。如果设置为 false，则默认值为`text/plain; charset=utf-8`。 |  | 
| `gapwalk.ssl.enabled` | 布尔值 | false | 指示将以下 `gapwalk.ssl.*` 属性设置为当前 JVM 系统属性（如果应用程序启动时尚未设置）。 |  | 
| `gapwalk.ssl.keyStore` | 字符串 | null | 请将值设置为系统属性 `javax.net.ssl.keyStore`（如果应用程序启动时尚未设置）。 |  | 
| `gapwalk.ssl.keyStorePassword` | 字符串 | null | 请将值设置为系统属性 `javax.net.ssl.keyStorePassword`（如果应用程序启动时尚未设置）。或者，强烈建议使用 AWS 密钥，如中所述。[用于 SSL 密码设置的密钥管理器](ba-runtime-config-app-secrets.md#ba-runtime-ssl-secrets-properties) |  | 
| `gapwalk.ssl.trustStore` | 字符串 | null | 请将值设置为系统属性 `javax.net.ssl.trustStore`（如果应用程序启动时尚未设置）。 |  | 
| `gapwalk.ssl.trustStorePassword` | 字符串 | null | 请将值设置为系统属性 `javax.net.ssl.trustStorePassword`（如果应用程序启动时尚未设置）。或者，强烈建议使用 AWS 密钥，如中所述。[用于 SSL 密码设置的密钥管理器](ba-runtime-config-app-secrets.md#ba-runtime-ssl-secrets-properties) |  | 
| `gapwalk.ssl.trustStoreType` | 字符串 | null | 请将值设置为系统属性 `javax.net.ssl.trustStoreType`（如果应用程序启动时尚未设置）。 |  | 
| `gapwalk.zos.sysplexName` | 字符串 | null | 为模拟 CVT（通信矢量表）指定综合体名称值。 | 5.202.0 | 
| `gapwalk.zos.systemName` | 字符串 | null | 为模拟 CVT（通信矢量表）指定系统名称值。 | 5.202.0 | 
| `gdgDirectoryPath` | 字符串 | `output/gdg` | GDG 目录路径是存储 gdg 文件的目录。 | 4.6.0 | 
| `ims.messages.extendedSize` | 布尔值 | false | 指定是否在 IMS 消息上设置扩展的大小。 |  | 
| `ims.programs` | 字符串 |  | 要使用的 IMS 程序列表。用分号 (`;`) 分隔每个参数，用逗号 (`,`) 分隔每个事务。例如：`PCP008,PCT008;PCP054,PCT054;PCP066,PCT066;PCP068,PCT068;` |  | 
| `invalidDataTolerence` | 布尔值 | true | 指定打包类型是否支持无效数据。 |  | 
| `jcl.checkpoint.enabled` | 布尔值 | false | 指定是否启用 JCL 检查点机制以支持作业重启。在每个步骤或主程序调用开始时，都会创建 JCL 检查点并将其保存到内存中的注册表中。如果定义了持久性提供程序，则在作业结束时，所有步骤级别的检查点都将保留。 |  | 
| `jcl.checkpoint.expireTimeout` | 数字 | –1 |  指定在持久性提供程序或内存中的注册表中保留 JCL 检查点的持续时间。 |  | 
| `jcl.checkpoint.expireTimeoutUnit` | 字符串 | SECONDS | 指定 `jcl.checkpoint.expireTimeout` 属性的持续时间单位。支持的枚举常量值：java.util.current。TimeUnit。 |  | 
| `jcl.checkpoint.provider` | 字符串 | null | 指定 JCL 检查点机制持久性提供程序。支持的值为 `redis`。 |  | 
| `jcl.checkpoint.redis.*` | 支持的 Redis 属性 |  |  指定 JCL 检查点机制的 REDIS 持久性提供程序的配置属性，请参阅[支持的 Redis 属性](ba-runtime-redis-configuration.md#ba-runtime-redis-supported-properties)。 |  | 
| `jcl.nullJclEof` | 布尔值 | true | 指定在任务执行期间如何处理空 JCL 语句 (//)。当为 true 时，//立即终止作业（EOF 模式）。当为 false 时，//被视为空语句并继续执行（忽略模式）。 |  | 
| `jhdb.checkpointPath` | 字符串 | file:./setup/ | 如果 `jhdb.checkpointPersistence` 不是 `none`，则此参数允许您设置检查点持久性路径（checkpoint.dat 文件存储位置），注册表中包含的所有检查点数据都将序列化并备份到所提供文件夹的文件 (checkpoint.dat) 中。请注意，此备份仅涉及检查点数据（scriptId、stepId、数据库位置和检查点区域）。 |  | 
| `jhdb.checkpointPersistence` | 字符串 | none | 检查点持久性模式。允许的值包括：`none`、`add`、`end`。使用 `add` 可在创建新检查点并将其添加到注册表后保留该检查点。使用 `end` 可在服务器关闭时保留检查点。任何其他值都会禁用持久性。请注意，每次向注册表中添加新的检查点时，所有现有的检查点都将被序列化并且文件会被擦除，而不是添加到文件中现有数据中。这样可能会对性能产生一些影响，具体取决于检查点的数量。 |  | 
| `jhdb.configuration.context.encoding` | 字符串 | CP297 | Java 分层数据库 (JHDB) 编码。预期的有效编码字符串包含 `CP1047`、`IBM930`、`ASCII`、`UTF-8`... |  | 
| `jhdb.identificationCardData` | 字符串 |  | 用于将某些“操作员识别卡数据”硬编码到 CARD 参数指定的 MID 字段。默认为空白，没有输入限制。 |  | 
| `jhdb.lterm` | 字符串 |  | 允许您在进行 IMS 仿真的情况下强制使用通用的逻辑终端 ID。如果未设置，则使用会话 ID。 |  | 
| `jhdb.metadata.extrapath` | 字符串 | file:./setup/ | 用于为 psbs 和 dbds 文件夹指定一个特定于运行时的额外根文件夹的配置参数。 |  | 
| `jhdb.navigation.cachenexts` | 数字 | 5000 | RDBMS 分层导航中使用的缓存持续时间（以毫秒为单位）。 |  | 
| `jhdb.optim.cacheRetention` | 布尔值 | false | 指定是否在连续读取操作中保留节点缓存。启用后，顺序读取会重用缓存，只有写入操作（提交或回滚）才能清除缓存。 |  | 
| `jhdb.query.limitJoinUsage` | 布尔值 | true | 指定是否在 RDBMS 图形上使用限制联接使用参数。 |  | 
| `jhdb.use-db-prefix` | 布尔值 | true | 指定是否在 RDBMS 的分层导航中启用数据库前缀。 |  | 
| `jics.data.dataJsonInitLocation` | 字符串 |  |  |  | 
| `jics.db.dataScriptLocation` | 字符串 |  | 定义用于初始化 JICS 数据库的 SQL 脚本路径。接受以逗号分隔的文件和目录列表，允许指定多个脚本和文件夹。 |  | 
| `jics.db.dataTestQueryLocation` | 字符串 |  | 包含单个 sql 查询的 sql 脚本的位置，该查询应返回对象计数（例如：计算 jics 程序表中的记录数）。如果计数等于 0，则将使用 `jics.db.dataScriptLocation` 脚本加载数据库，否则将跳过数据库加载。 |  | 
| `jics.db.ddlScriptLocation` | 字符串 |  | Jics DDL 脚本位置。支持您使用 .sql 脚本启动 Jics 数据库架构。默认情况下为空。例如 `./jics/sql/jics.sql`。 |  | 
| `jics.db.schemaTestQueryLocation` | 字符串 |  | sql 文件的位置，该文件应包含唯一查询，且该查询返回 jics 架构中对象的数量（如果有）。 |  | 
| `jics.initList` | 字符串 |  | 初始化 JICS 列表，用逗号分隔。指定时，该键定义列表中以逗号分隔的名称，以便在 Apache Tomcat 启动时在 CICS 列表中激活。示例值：`$UUU,DFH$IVPL,PEZ1`。这将级联到这些列表中包含的组及其基础资源定义，之后会对运行时可见。默认为空。 |  | 
| `jics.jcl.rt.encoding` | 字符串 | CP037 | 在专用 JICS 队列中编写的 JCL 脚本的编码。 |  | 
| `jics.jcl.rt.queue` | 字符串 | JICS | 运行时可以逐行写入 JCL 脚本的队列的名称。 |  | 
| `jics.parameters.applid` | 字符串 | VELOCITY | 用于标识 JICS 中的应用程序的 appid（至少 4 个字符，无最大长度限制）。 |  | 
| `jics.parameters.charset` | 字符串 | CP037 | JICS 全球使用的字符集。 |  | 
| `jics.parameters.cwa.length` | 数字 | 0 | 公共工作区（CWA）长度。 |  | 
| `jics.parameters.datform` | 字符串 | MMDDYY | 日期形式。 |  | 
| `jics.parameters.eibtrmid` | 字符串 | TERM | 终端标识符（最多 4 个字符，最少 1 个字符）。 |  | 
| `jics.parameters.jobname` | 字符串 | MJOBNAME | 作业名称。 |  | 
| `jics.parameters.netname` | 字符串 | MYNETNAME | 网络名称（最多 8 个字符，最少 1 个字符）。 |  | 
| `jics.parameters.opid` | 字符串 | XXX | 3 个字符的操作员标识。 |  | 
| `jics.parameters.sysid` | 字符串 | CICS | 系统标识 (SYSID)。 |  | 
| `jics.parameters.sysname` | 字符串 | SYSNAME | AS400 系统名称 (sysname)。 |  | 
| `jics.parameters.tsqimpl` | 字符串 | bluesam | JICS 临时存储队列 (TSQ) 实现（允许的值为 `bluesam`/`memory`/`redis`） |  | 
| `jics.parameters.userid` | 字符串 |  | 用户 ID（最多 8 个字符，无最小字符数限制）。如果未提供任何值（默认为空白），则使用 HTTP 会话 ID 作为用户 ID。 |  | 
| `jics.parameters.username` | 字符串 | MYUSERNAME | 用户 ID（最多 10 个字符，最少 1 个字符）。 |  | 
| `jics.queues.sqs.region` | 字符串 | eu-west-1 | JICS 中使用的亚马逊简单队列服务 AWS 区域。 |  | 
| `jics.queues.ts.redis.*` | 支持的 Redis 属性 |  | 指定 JICS TS 队列 Redis 服务器的配置属性，请参阅 [支持的 Redis 属性](ba-runtime-redis-configuration.md#ba-runtime-redis-supported-properties)。 |  | 
| `jics.redis.*` | 支持的 Redis 属性 |  | 指定 JICS Redis 服务器连接工厂的配置属性，请参阅[支持的 Redis 属性](ba-runtime-redis-configuration.md#ba-runtime-redis-supported-properties)。 |  | 
| `jics.runUnitLauncherPool.enable` | 布尔值 | false | 指定是否在 JICS 中激活运行单元启动器池。 |  | 
| `jics.runUnitLauncherPool.parallelism` | 数字 | 2 | 当调整任务运行时，用于在队列中生成缺失实例的线程数。 |  | 
| `jics.runUnitLauncherPool.size` | 数字 | 20 | JICS 中的运行单元启动器池大小。 |  | 
| `jics.runUnitLauncherPool.validationInterval` | 数字 | 1000 | 每次运行调整池大小的任务之间的间隔。 |  | 
| `jics.spool.smtp.debug` | 布尔值 | false | 指定 SMTP 服务器的调试模式。 |  | 
| `jics.spool.smtp.hostname` | 字符串 | null | 指定 SMTP 服务器主机。示例：`smtp.xxx.com` |  | 
| `jics.spool.smtp.password` | 字符串 | null | 指定 SMTP 服务器的登录密码。 |  | 
| `jics.spool.smtp.port` | 字符串 | null | 指定 SMTP 服务器端口。示例：25 |  | 
| `jics.spool.smtp.username` | 字符串 | null | 指定 SMTP 服务器的用户名。 |  | 
| `jics.xa.agent.timeout` | 数字 |  |  |  | 
| `jildb.backend` | 字符串 |  | 指定 Jildb 后端中使用的数据库类型，例如 Oracle。 |  | 
| `jildb.datasource` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` | 带子键的标准 Spring 数据源 |  | 包含 Jics 数据库的连接信息。 |  | 
| `jildb.record-hold-timeout` | int | 10000 | 指定 Jildb 中记录保存机制的等待超时时间，以毫秒为单位。 |  | 
| `job.default.encoding` | 字符串 | CP1047 | 指定用于初始化任务级别存储的默认编码。例如，BLU4IV 应用程序中的开关使用这种编码来初始化为零。 | 4.9.0 | 
| `listOfMDCUrlParams` | 字符串 | `null` | 执行 Groovy 批处理脚本时要添加到 MDC 的 URL 参数列表。 |  | 
| `localDateFormat` | 字符串 |  | 本地日期格式列表。使用 `\` 分隔每种格式。 |  | 
| `localTimeFormat` | 字符串 |  | 本地时间格式列表。使用 `\` 分隔每种格式。 |  | 
| `localTimestampFormat` | 字符串 |  | 本地时间戳格式列表。使用 `\` 分隔每种格式。 |  | 
| `lockTimeout` | 数字 | 500 | 锁定超时，以毫秒为单位。 |  | 
| `logging.config` | 路径 | classpath:logback-main.xml | 用于引用 logback 配置文件的标准密钥。其他标准日志记录密钥也可用。 |  | 
| `mapTransfo.prefixes` | 字符串 | &,@,%% | 转换 controlM 变量时要使用的前缀列表。每一个前缀均用逗号隔开。 |  | 
| `mf.runtime.switch.N` | 布尔值 | true | 为 MF 自然行序列文件启用空插入。 | 4.4.0 | 
| `mf.runtime.switch.T` | 布尔值 | false | 允许在 MF 自然行序列文件中插入制表符。 | 4.4.0 | 
| `mq.connection.pool.share` | 布尔值 | false | 指明是使用同一个队列管理器共享还是重新创建 JMS 连接池。 | 4.9.0 | 
| `mq.queues` | 字符串 | `sqs` | 指定使用哪个受支持的队列代理：`sqs`（使用 Amazon SQS）、`rabbitmq`（使用本地 Rabbit MQ）或 `jms`（使用本地 IBMMQ）。 |  | 
| `mq.queues.default.syncpoint` | 布尔值 | false | 指定未设置 MQPMO\_SYNCPOINT 和 MQPMO\_NO\_SYNCPOINT 时 MQ PUT 命令的默认行为。当设置为 true 时，它的作用就像 `MQPMO_SYNCPOINT`，在 PUT 命令期间不会直接提交消息。当设置为 false 时，它的作用就像 `MQPMO_NO_SYNCPOINT`，在 PUT 命令期间会直接提交消息。 |  | 
| `mq.queues.jms.connectionfactory.*` | 支持的 Atomikos 连接出厂属性 |  | 指定 JMS MQ 连接池的配置属性。 |  | 
| `mq.queues.jmsMQQueueManagers[N]` |  |  | 如果 `mq.queues` 为 `jms`，则支持指定 IBM MQ 连接列表。对于第一个连接为 `mq.queues.jmsMQQueueManagers[0]`，对于第二个连接为 `mq.queues.jmsMQQueueManagers[1]`，依此类推。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQAppName` | 字符串 | null | IBMMQ 应用程序名称。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQChannel` | 字符串 | null | IBMMQ 频道名称。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQHost` | 字符串 | null | IBMMQ 主机名。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQMaxPoolSize` | 数字 | 0 | IBMMQ 的最大池大小。如果为 0，则启用无限数量的物理连接。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQPassword` | 字符串 | null | IBMMQ 用户密码。或者，强烈建议使用 AWS 密钥，如中所述。[用于 IBM MQ 密码设置的密钥管理器](ba-runtime-config-app-secrets.md#ba-runtime-IBMMQ-secrets-properties) |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQPort` | 数字 | null | IBMMQ 端口。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQQueueManager` | 字符串 | null | IBMMQ 队列管理器名称。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQSSLCipher` | 字符串 | null | IBMMQ SSL 密码套件。例如 `"*TLS12ORHIGHER"`。有关更多详细信息，请参阅官方文档 [ TLS CipherSpecs 和 IBM MQ 类 CipherSuites 中的 J ](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=jms-tls-cipherspecs-ciphersuites-in-mq-classes) MS。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQUserid` | 字符串 | null | IBMMQ 用户名。 |  | 
| `mq.queues.non.jms.client` | 布尔值 | false | 指明向其发送消息的目标客户端是否为非 JMS。本机 MQ 格式将用于非 JMS 客户端，而 RFH2 格式将用于 JMS。 | 4.5.0 | 
| `mq.queues.rabbitMQHost` | 字符串 | null | Rabbit MQ 主机名。 |  | 
| `mq.queues.rabbitMQPassword` | 字符串 | null | Rabbit MQ 密码。 |  | 
| `mq.queues.rabbitMQPort` | 数字 | null | Rabbit MQ 端口。 |  | 
| `mq.queues.rabbitMQUsername` | 字符串 | null | Rabbit MQ 用户。 |  | 
| `mq.queues.rabbitMQVirtualHost` | 字符串 | null | Rabbit MQ 虚拟主机名。 |  | 
| `mq.queues.sqs.region` | 字符串 | eu-west-3 | AWS SQS MQ 服务的 AWS 区域。 |  | 
| `pgmDateFormat` | 字符串 | yyyy-MM-dd | 日期时间格式 |  | 
| `pgmTimeFormat` | 字符串 | HH.mm.ss | 程序 (pgm) 执行的时间格式。 |  | 
| `pgmTimestampFormat` | 字符串 | yyyy-MM-dd-HH.mm.ss.SSSSSS | 时间戳格式 |  | 
| `program.timeout` | 数字 | –1 | 以秒为单位指定任何 program/transaction 执行的超时时间。在这段时间之后，系统将尝试中断程序。 |  | 
| `qtemp.cleanup.threshold.hours` | 数字 | 0 | 指定何时启用 `qtemp.dblog`。数据库分区的生命周期（以小时为单位）。 |  | 
| `qtemp.dblog` | 布尔值 | false | 是否启用 QTEMP 数据库日志记录。 |  | 
| `qtemp.uuid.length` | 数字 | 9 | QTEMP 的唯一 ID 长度。 |  | 
| `quartz.scheduler.stand-by-if-error` | 布尔值 | false | 指定当作业调度程序处于待机模式时是否触发作业执行。如果设置为 true，则启用时不会触发作业执行。 |  | 
| `query.useConcatCondition` | 布尔值 | false | 指定键条件是否通过串联键来构建。 |  | 
| `reportOutputPath` | 字符串 | `/reports` | 报告输出路径。 |  | 
| `returnHttp5xxResponseForFailedSyncJob` | 布尔值 | false | 指定在同步任务执行失败时是否返回 500 系列的 HTTP 响应代码。 | 4.10.0 | 
| `rollbackOnRTE` | 布尔值 | false | 指定是否在运行时异常时回滚隐式运行单元事务。 |  | 
| `sctThreadLimit` | 长整数 | 5 | 用于触发脚本的线程限值。 |  | 
| `server.servlet.session.timeout` | 字符串 | 30m | 指定会话超时持续时间。示例：`60s`（60 秒）、`4m`（4 分钟）、`4h`（4 小时）。 |  | 
| `server.servlet.session.tracking-modes` | 字符串 | Cookie | 指定要使用的会话跟踪模式。可能的值是`url`、`cookie`、`ssl`。可以指定多个值，用逗号分隔。注意：在 Tomcat 上部署时，需要`cookies=false`在 context.xml 中进行设置，因为 Tomcat 优先配置跟踪模式。 |  | 
| `spring.aws.application.credentials` | 字符串 | null | 从 JICS 中的凭据配置文件加载证书。 AWS  |  | 
| `spring.aws.client.bluesam.locks.redis.secret` | 字符串 | null | 指定 Bluesam 锁 Redis 缓存的凭证密钥 ARN，请参阅 [AWS 针对大型机运行时机密进行转换](ba-runtime-config-app-secrets.md)。 |  | 
| `spring.aws.client.bluesam.redis.secret` | 字符串 | null | 指定 Bluesam Redis 缓存的凭证密钥 ARN，请参阅 [AWS 针对大型机运行时机密进行转换](ba-runtime-config-app-secrets.md)。 |  | 
| `spring.aws.client.jcl.checkpoint.redis.secret` | 字符串 | null |  指定 JCL 检查点机制的 Redis 持久性提供程序的凭证密钥 ARN，请参阅 [AWS 针对大型机运行时机密进行转换](ba-runtime-config-app-secrets.md)。 |  | 
| `spring.aws.client.jics.queues.ts.redis.secret` | 字符串 | null | 指定 JICS TS Queues Redis 服务器的凭证密钥 ARN，请参阅 [AWS 针对大型机运行时机密进行转换](ba-runtime-config-app-secrets.md)。 |  | 
| `spring.aws.client.jics.redis.secret` | 字符串 | null |  指定 JICS Redis 服务器连接工厂的凭证密钥 ARN，请参阅 [AWS 针对大型机运行时机密进行转换](ba-runtime-config-app-secrets.md)。 |  | 
| `spring.jta.enabled` | 布尔值 | false | 标准密钥。如果数据源支持模式不是 static-xa，则必须禁用 Spring JTA 事务自动配置。 |  | 
| `spring.session.store-type` | 字符串 | none | 高可用性环境的会话缓存。可能的值为 `none` 或 `redis`。默认值为 `none`。 |  | 
| `sqlCodePointShift` | 数字 |  | 可选。sql 代码点转换。对在将遗留 RDBMS 数据迁移到现代 RDBMS 时可能遇到的控制字符的代码点进行转换。例如，您可以指定 `384` 来匹配 Unicode 字符 `\u0180`。 |  | 
| `sqlConnectionAutoCommitEnabled` | 布尔值 | true | 允许在连接重置操作期间自动提交当前连接。启用后，在非 XA 环境中切换到新的数据源连接之前自动提交当前连接，以防止连接不稳定。禁用后，会记录有关重置操作期间潜在连接问题的警告消息。 | 4.10.0 | 
| `sqlIntegerOverflowAllowed` | 布尔值 | false | 指定是否允许 SQL 整数溢出，即是否允许在主机变量中放置更大的值。 |  | 
| `startDefaultJob` | 字符串 | `false` | 指定是否在第一次事务时初始化默认作业。 |  | 
| `stepFailWhenAbend` | 布尔值 | true | 指定在步骤失败或完成执行时是否引发异常中止。 |  | 
| `stopExecutionWhenProgNotFound` | 布尔值 | true | 指定在找不到程序时是否停止运行。如果设置为 `true`，则在找不到程序时中断运行。 |  | 
| `system.date.format` | 字符串  | MDY | 系统日期格式 DATFMT。 | --- | 
| `system.date.separator` | 字符串  | / | 系统日期分隔符 DATSEP。<br />可能的值为斜线 (`/`)、短划线 (`—`)、句点 (`.`)、逗号 (`,`) 或空白 (`)。值需要用双引号 ````来指定。 | 5.17.0 | 
| `system.qdecfmt` | 字符串 |  |  |  | 
| `taskExecutor.allowCoreThreadTimeOut` | 布尔值 | false | 指定是否允许核心线程在 JCIS 中超时。即使与非零队列结合使用，也可以实现动态增长和缩小（因为只有在队列已满后，池最大大小才会增长）。 |  | 
| `taskExecutor.corePoolSize` | 数字 | 5 | 当通过 groovy 脚本启动终端中的事务时，会创建一个新线程。可以使用此参数设置核心池大小。 |  | 
| `taskExecutor.maxPoolSize` | 数字 | 10 | 当通过 groovy 脚本启动终端中的事务时，会创建一个新线程。使用此参数设置池的最大大小（并行线程的最大数量）。 |  | 
| `taskExecutor.queueCapacity` | 数字 | 50 | 当通过 groovy 脚本启动终端中的事务时，会创建一个新线程。使用此参数设置队列大小。（= 达到 `taskExecutor.maxPoolSize` 时待处理事务的最大数量） |  | 
| `tempFilesDirectory` | 字符串 | null | 指定生成的临时文件所在文件夹位置的名称。 |  | 
| `tempFolderPattern` | 字符串 | null | 指定一种模式，该模式将用于根据以下预定义的和可自定义的信息动态构建临时文件夹的名称。<br />HOST：主机名。<br />JOBID：作业 ID。<br />HASHCODE：作业上下文的哈希码。<br />TIMESTAMP：获取时间戳时使用的模式。临时文件夹的目标名称是 TMP\_DIR\_ {temp}。FolderPattern例如，在以下模式中，名称将以任务 ID 开头并以 “时间戳” 结尾：tempFolderPattern: JOBID、host=xxxxx、哈希码、时间戳=yyymmddhmmss。如果该属性未添加到 YAML 文件中或该属性为空，`tempFolderPattern`则临时文件夹的名称将为 “TMP\_DIR\_” \+ this.hashCode () ()。DefaultJobContext |  | 
| `uppercaseUserInput` | 布尔值 | true | 指定用户输入是否必须采用大写形式。 |  | 
| `useControlMVariable` | 布尔值 | false | 指定是否使用 control-M 规范进行变量替换。 |  | 
| `xmlGeneratorPrettyFormat` | 布尔值 | true | 确定 XmlGenerator 类中生成的 XML 输出的格式样式。设置为时`true`，XML 输出采用人类可读的缩进结构（打印得漂亮）。设置为时`false`，输出为紧凑的单行格式，没有额外的空格。 | 4.8.0 | 

## 可选 Web 应用程序的可用属性
<a name="ba-runtime-key-value-web"></a>

根据您的现代化应用程序，您可能需要配置一个或多个表示支持 z/OS AS/400、或 IMS/MFS等依赖项的可选 Web 应用程序。下表包含用于配置每个可选 Web 应用程序的可用 key/value 参数列表。

### gapwalk-utility-pgm.war
<a name="ba-runtime-key-value-web-utility"></a>

这个可选的 Web 应用程序包含对 Z/OS 实用程序的支持。

此表提供了此应用程序 key/values 参数的详尽视图。


| Key | Type | 默认 值 | 说明 | 发行版 | 
| --- | --- | --- | --- | --- | 
| `convertGraphicDataToFullWidth` |  布尔值 |  true | 指定是否将图形数据转换为全角格式。 |  | 
| `encoding` |  字符串 |  ASCII |  实用程序中使用的编码。需要有效的编码`CP1047`，`IBM930`，`ASCII`，`UTF-8`。 |  | 
| `forcedDate` |  字符串 |   |  强制将日期（如果有）更改为提供的日期。 |  | 
| `forcedDateMode` |  字符串 |  |  指定强制日期模式。设置为时`HYBRID`，日期部分是配置的强制日期，但时间部分反映的是实际的系统时间。仅当也设置了`forcedDate`时才适用。 |  | 
| `frozenDate` |  布尔值 |  true |  指定是否冻结日期。仅在设置了 `forcedDate` 时适用。 |  | 
| `hasGraphic` |  布尔值 |  false |  INFUTILB 实用程序是否需要处理 GRAPHIC DB2 列。 |  | 
| `idcams.deleteFromAllSubfolders` | 布尔值 | false | IDCAMS DELETE 命令是否还应从文件目录的每个子文件夹中删除匹配的文件。 | 5.155.0 | 
| `idcams.encoding.forced` |  字符串 |  |  IDCAMS 实用程序中使用的编码。需要有效的编码`CP1047`，`IBM930`，`ASCII`，`UTF-8`。 | 4.4.0 | 
| `idcams.repro.failOnMissingOutput` | 布尔值 | false | 如果设置为 true，则如果缺少 SHR 或 OLD 配置的输出 Blusam 数据集，IDCAMS REPRO 将提前失败。 | 5.185.0 | 
| `jcl.type` |  字符串 |  MV |  .jcl 文件类型。允许的值包括：`jcl`、`vse`。如果非 vse jcl 的文件为空，则 IDCAMS 实用程序 PRINT/REPRO 命令返回 4。 |  | 
| `load.applyRollback` | 布尔值 | false | 将此参数设置为 `true`，表示您希望服务在将数据加载到数据库遇到错误时回滚表更改。 |  | 
| `load.batchSize` |  数字 |  0 |  加载实用程序批次大小。 |  | 
| `load.format.dbDate` |  字符串 |  yyyy-MM-dd |  要使用的加载实用程序数据库格式。 |  | 
| `load.format.dbTime` |  字符串 |  HH:mm:ss |  要使用的加载实用程序数据库时间。 |  | 
| `load.format.localDate` |  字符串 |  dd。MM.yyyy\\ dd/MM /yyyy\\ yyyy-MM-dd |  要使用的加载实用程序本地日期格式。 |  | 
| `load.format.localTime` |  字符串 |  HH:mm:ss\\HH.mm.ss |  要使用的加载实用程序本地时间格式。 |  | 
| `load.sqlCodePointShift` |  数字 |  0s |  加载实用程序的 SQL 代码点转换。运行字符转换进程。如果来自 DB2 目标数据库的是 Postgresql，则该参数是必需的。 |  | 
| `logging.config` |  路径 |  classpath:logback-utility.xml |  用于引用 logback 配置文件的标准密钥。其他标准日志记录密钥也可用。 |  | 
| `primary.datasource` -`driver-class-name` -`url` -`username` -`password` |  带子键的标准 Spring 数据源 |   |  如果不使用 JNDI，则包含应用程序数据库的连接信息。必须具有与现代化应用程序 YAML 文件相同的配置。<br /> 或者，强烈建议使用 AWS 密钥，如中所述。[客户端数据库](ba-runtime-config-app-secrets.md#client-database) |  | 
| `spring.datasource.primary.jndi-name` |  字符串 |  jdbc/primary |  主要数据源的 Java 命名和目录接口（JNDI）名称（如果使用 JNDI）。 |  | 
| `spring.jta.enabled` |  布尔值 |  false |  标准密钥。如果数据源支持模式不是 static-xa，则必须禁用 Spring JTA 事务自动配置。 |  | 
| `sysPunchEncoding` |  字符串 |  ASCII |  syspunch 编码字符集。需要有效的编码`CP1047`，`IBM930`，`ASCII`，`UTF-8`。 |  | 
| `systin.encoding` |  字符串 |  ASCII |  SYSTIN 文件数据集的编码字符集。需要有效的编码`CP1047`，`IBM930`，`ASCII`，`UTF-8`。 | 4.5.0 | 
| `treatLargeNumberAsInteger` |  布尔值 |  false |  指定是否将大数字作为 `Integer` 处理。默认情况下，大数字作为 `BigDecimal` 处理。 |  | 
| `unload.bmc.useInto` |  布尔值 |  false |  指定是否处理卸载实用程序的 INTO bmc 控制关键字。 |  | 
| `unload.chunkSize` |  数字 |  0 |  卸载实用程序使用的区块大小。 |  | 
| `unload.columnFiller` |  字符串 |  space |  卸载实用程序列填充内容。 |  | 
| `unload.computeRecordSizeIfNull` |  布尔值 |  false | 确定是否计算记录大小（如果未指定）。如果指定，则该值保持不变。 |  | 
| `unload.fetchSize` |  数字 |  0 |  允许您在卸载实用程序中处理游标时调整提取大小。 |  | 
| `unload.format.date` |  字符串 |  MM/dd/yyyy |  卸载实用程序中使用的日期格式（如果启用 `unload.useDatabaseConfiguration`）。 |  | 
| `unload.format.time` |  字符串 |  HH.mm.ss |  卸载实用程序中使用的时间格式（如果启用 `unload.useDatabaseConfiguration`）。 |  | 
| `unload.format.timestamp` |  字符串 |  yyyy-MM-dd-HH.mm.ss.SSSSSS |  卸载实用程序中使用的时间戳格式（如果启用 `unload.useDatabaseConfiguration`）。 |  | 
| `unload.nbi.whenNotNull` |  十六进制 |  00 |  数据库中的值不为空时，要添加的空字节指示符（NBI）值。 |  | 
| `unload.nbi.whenNull` |  十六进制 |  6F |  数据库中的值为空时，要添加的空字节指示符（NBI）值。 |  | 
| `unload.nbi.writeNullIndicator` |  布尔值 |  false |  指定是否在卸载输出文件中写出空指示符。 |  | 
| `unload.noPad` |  布尔值 |  true |  表示卸载可变长度字符 (VARCHAR) 字段时不对最大长度进行任何填充。 | 4.5.0 | 
| `unload.sqlCodePointShift` |  数字 |  0 |  卸载实用程序的 SQL 代码点转换。运行字符转换进程。如果来自 DB2 目标数据库的是 Postgresql，则该参数是必需的。 |  | 
| `unload.useDatabaseConfiguration` |  布尔值 |  false |  指定是否在卸载实用程序中使用 application-main.yml 中的日期或时间配置。 |  | 
| `unload.varCharIsNull` |  布尔值 |  false |  在 INFTILB 程序中使用此参数，如果设置为 `true`，则所有具有空（空格）值的不可为空的字段都将返回一个空字符串。 |  | 
| `zonedMode` |  字符串 |  EBCDIC\_STRICT |  对分区数据类型进行编码或解码的模式。支持的值包括：`EBCDIC_STRICT`、`EBCDIC_MODIFIED`、`AS400`。 |  | 

### gapwalk-cl-command.war
<a name="ba-runtime-key-value-web-cl"></a>

这个可选的 Web 应用程序包含对 AS/400 实用程序的支持。

此表提供了此应用程序 key/values 参数的详尽视图。


| Key | Type | 默认 值 | 说明 | 
| --- | --- | --- | --- | 
|  `commands-off` |  字符串 |   | 要关闭的命令列表，以逗号分隔。允许的值包括：`PGM_BASIC`、`RCVMSG`、`SNDRCVF`、`CHGVAR`、`QCLRDTAQ`、`RTVJOBA`、`ADDLFM`、`ADDPFM`、`RCVF`、`OVRDBF`、`DLTOVR`、`CPYF`、`SNDDTAQ`。当你想禁用或覆盖现有程序时很有用。`PGM_BASIC`是专为调试目的而设计的大型机运行时 AWS 转换程序。 | 
|  `encoding` |  字符串 |  ASCII |  实用程序中使用的编码。预期的有效编码包含 `CP1047`、`IBM930`、`ASCII`、`UTF-8`... | 
|  `forcedDate` |  字符串 |   | 强制将日期（如果有）更改为提供的日期。 | 
| `forcedDateMode` |  字符串 |   | 指定强制日期模式。设置为时`HYBRID`，日期部分是配置的强制日期，但时间部分反映的是实际的系统时间。仅当也设置了`forcedDate`时才适用。 | 
|  `logging.config` |  路径 |  classpath:logback-utility.xml |  用于引用 logback 配置文件的标准密钥。其他标准日志记录密钥也可用。 | 
|  `primary.datasource` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` |  带子键的标准 Spring 数据源 |   |  如果不使用 JNDI，则包含应用程序数据库的连接信息。必须具有与现代化应用程序 YAML 文件相同的配置。<br /> 或者，强烈建议使用 AWS 密钥，如中所述。[客户端数据库](ba-runtime-config-app-secrets.md#client-database) | 
|  `spring.datasource.primary.jndi-name` |  字符串 |  jdbc/primary |  主要数据源的 Java 命名和目录接口（JNDI）名称（如果使用 JNDI）。 | 
|  `spring.jta.enabled` |  布尔值 |  false |  标准密钥。如果数据源支持模式不是 static-xa，则必须禁用 Spring JTA 事务自动配置。 | 
|  `zonedMode` |  字符串 |  EBCDIC\_STRICT |  对分区数据类型进行编码或解码的模式。支持的值包括：`EBCDIC_STRICT`、`EBCDIC_MODIFIED`、`AS400`。 | 

### gapwalk-hierarchical-support.war
<a name="ba-runtime-key-value-web-hierarchical"></a>

这个可选的 Web 应用程序包含 IMS/MFS 事务支持。

此表提供了此应用程序 key/values 参数的详尽视图。


| Key | Type | 默认 值 | 说明 | 
| --- | --- | --- | --- | 
| `jhdb.backend` | 字符串 |  | Jhdb 后端类型。预期值为 `rdbms` | 
|  `jhdb.checkpointPersistence` |  字符串 |  none |  检查点持久性模式。允许的值包括：`none`、`add`、`end`。使用 `add` 可在创建新检查点并将其添加到注册表后保留该检查点。使用 `end` 可在服务器关闭时保留检查点。任何其他值都会禁用持久性。请注意，每次向注册表中添加新的检查点时，所有现有的检查点都将被序列化并且文件会被擦除，而不是添加到文件中现有数据中。这样可能会对性能产生一些影响，具体取决于检查点的数量。 | 
|  `jhdb.configuration.context.encoding` |  字符串 |   |  Java 分层数据库 (JHDB) 编码。预期的有效编码字符串包含 `CP1047`、`IBM930`、`ASCII`、`UTF-8`... | 
| `jhdb.keepParent` | 布尔值 | false | 在 IMS 插入期间是否保留 \_parent 和 \_logicalparent。当设置为 true 时，IMS ISRT 调用会将 \_parent 和 \_logicalparent 插入到数据库列中。 | 
| `jhdb.query.timeout` | int | –1 | 以秒为单位指定任何 jhdb 事务执行的超时时间。在这段时间之后，系统将尝试中断程序。如果值为 -1，则不设置超时（默认）。 | 
| `jhdb.transaction.scope.programs` | 字符串 |  | 要声明为整个交易的程序列表。用逗号 (`,`) 分隔每个程序。例如：`PCP008,PCT008` | 
|  `logging.config` |  路径 |  classpath:logback-utility.xml |  用于引用 logback 配置文件的标准密钥。其他标准日志记录密钥也可用。 | 
| `metadata.datasource` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` \+ -`type` | 字符串 | 带子键的标准 Spring 数据源 | 包含 jhdb 数据库的元数据信息，包括 psbs、dbds 和连接。或者，强烈鼓励使用 AWS 机密。 | 
|  `spring.jta.enabled` |  布尔值 |  false |  标准密钥。如果数据源支持模式不是 static-xa，则必须禁用 Spring JTA 事务自动配置。 | 

### gapwalk-gs21.war
<a name="ba-runtime-key-value-web-gs21"></a>

使用此可选 Web 应用程序在 AWS 大型机现代化环境中运行 Fujitsu GS21 平台程序。仅当您的现代化工作负载包括 GS21 程序时才安装此应用程序。

下表描述了此应用程序的键值参数。


| Key | Type | 默认 值 | 说明 | 
| --- | --- | --- | --- | 
| `aim.sockets.socketConfigurations` | list | 无 | 配置应用程序集成模块 (AIM) 套接字连接。每个条目都是套接字服务器配置或套接字客户端配置。<br />套接字服务器入口密钥：`remote`（连接名称）、`smqn`（结构化消息队列名称 (SMQN) 队列名称）、`port`（套接字端口）。<br />套接字客户端入口密钥：`remote`（远程服务器名称）、`targetName`（目标服务器名称）、`smqn`（SMQN 队列名称）、`port`（本地端口）、`targetPort`（目标端口）、`targetHost`（目标 IP）。 | 
| `datasource.gs21Ds` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` \+ -`type` | 带有子密钥的标准 Spring 数据源 | 无 | 存储 GS21 数据库的连接信息。我们建议使用 AWS 密钥管理器获取数据库证书。有关更多信息，请参阅 [客户端数据库](ba-runtime-config-app-secrets.md#client-database)。 | 
| `taskExecutor` \+ -`corePoolSize` \+ -`maxPoolSize` \+ -`queueCapacity` \+ -`allowCoreThreadTimeOut` | Spring 线程池执行器配置 | 无 | 配置生成 AIM 进程（例如 SMQN、套接字处理程序和消息回复处理程序）的线程池执行器。 | 

## 客户端应用程序的可用属性
<a name="ba-runtime-key-value-client"></a>

您的现代化应用程序可能需要客户端 Spring 应用程序的特定属性配置。这些属性根据打包在运行时 JAR 文件中的类初始化 Bean。在应用程序生成期间设置配置`application-profile.yaml`文件值的文件允许您配置这些属性。下表列出了可用于配置客户端 Web 应用程序的 key/value 参数，该应用程序使用 Gapwalk 运行时打包的类中的 Bean


| Key | Type | 默认 值 | 说明 | 发行版 | 
| --- | --- | --- | --- | --- | 
| `blu4iv.dao.cache.enabled` | 布尔值 | false | 启用 In-memory 缓存。 | 4.8.0 | 
| `blu4iv.dao.cache.enabledHits` | 布尔值 | false | 将对请求数量的跟踪添加到缓存中。 | 4.8.0 | 
| `blu4iv.dao.cache.entries.fileIds` | 字符串 |  | 要缓存的数据库表列表。 | 4.8.0 | 
| `blu4iv.dao.cache.entries.programIds` | 字符串 |  | 程序的标识符，应在其中激活指定表的缓存。缓存可用于执行堆栈中的所有子程序。 | 4.8.0 | 
| `blu4iv.dao.cache.initMaxResults` | 数字 | 10000 | 缓存的大小。 | 4.8.0 | 
| `blu4iv.dao.data.max` | 数字 | 10 | 输入 DAO 操作的内部缓存的大小。此缓存存在于程序级别（单一实例）。 | 4.9.0 | 
| `blu4iv.dao.sort.function` | 字符串 |  | blu4iv 数据库的排序函数名称。 | 4.9.0 | 
| `blu4iv.dao.support` | 字符串 | JPA | 指定要使用的数据访问实现（JPA 或 JDBC）。 | 4.9.0 | 
| `blu4iv.dtaara.library.disable` | 布尔值 | false | 控制库在数据区操作的上下文中的使用。如果设置为 true，则对数据区操作禁用库的使用，但这不会影响 QTemp 的使用。如果设置为 false，则在对数据区执行 CRUD 操作时会考虑库。 | 4.5.0 | 
| `blu4iv.librarylist.enabled` | 布尔值 | false | 允许使用库列表来解析文件库。 | 4.10.0 | 
| `blu4iv.librarylist.libraries` | 字符串 |  | 库的初始列表从左到右排序。 | 4.10.0 | 

### 为 AS400 应用程序配置 In-Memory 缓存
<a name="ba-runtime-in-memory-cache-as400"></a>

内存缓存功能使用户能够在内存中缓存只读数据，从而显著提高数据密集型程序的性能。缓存系统通过三种方式优化性能：仅在首次访问时加载数据、按需创建数据访问映射以及将缓存数据高效地存储在程序内存附近。这种设计最大限度地减少了内存开销，同时最大限度地提高了速度。

```
###################################################################
# 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"]
```

## 配置 API 访问日志
<a name="ba-runtime-api-access-logging"></a>

API 访问记录功能记录有关向 BAC、JAC 和 Gapwalk 应用程序发出 API 请求的详细信息，通过跟踪谁访问了什么内容和何时访问来帮助满足安全要求。


| Key | Type | 默认 值 | 说明 | 发行版 | 
| --- | --- | --- | --- | --- | 
| `api.logging.enabled` | 布尔值 | false | 启用 BAC、JAC 和 Gapwalk 应用程序的 API 访问日志。启用后，将记录所有 API 请求和详细信息。 | 5.0.0 | 

启用后，用户可以提供日志文件配置，以使用记录器名称在选定位置记录 API 访问日志。`api.access`日志可以包含以下 MDC 字段：


| MDC 领域 | 说明 | 
| --- | --- | 
| `api-context` | API 的托管位置 | 
| `api-date` | 提出 API 请求的日期和时间 | 
| `api-duration` | 处理 API 请求花费了多长时间（毫秒） | 
| `api-host` | API 请求的来源地址 | 
| `api-method` | 发出的 HTTP 请求的类型（例如 GET、POST、DELETE...） | 
| `api-name` | 访问 endpoint/URI 过的 | 
| `api-retcode` | API 请求完成后返回的状态码 | 
| `api-scheme` | 使用的传输协议，例如 HTTP 或 HTTPS。 | 
| `api-secure` | 用于保护 API 调用的安全方法（例如 OAuth2、令牌、匿名） | 
| `api-sessionid` | 用户当前登录会话的唯一标识符 | 
| `api-user` | 提出 API 请求的人员的用户名或标识符 | 

要为 API 访问日志配置专用日志文件，请将以下内容添加到您的登录配置中：

```
<!-- 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>
```

示例日志输出：

```
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
```

## 配置分布式跟踪
<a name="ba-runtime-distributed-tracing"></a>

分布式跟踪功能通过从 HTTP 请求中传播 TraceID 和 SpanID，实现 GapWalk 应用程序间的端到端请求跟踪，从而允许在整个请求生命周期中关联日志。


| Key | Type | 默认 值 | 说明 | 发行版 | 
| --- | --- | --- | --- | --- | 
| `gapwalk.tracing.enabled` | 布尔值 | false | 为 GapWalk 应用程序启用分布式跟踪。启用后，传播 TraceID 和 spanID 以执行批处理任务。 |  | 

启用后，跟踪功能会传播跟踪上下文。日志可以包含以下 MDC 字段：


| MDC 领域 | 说明 | 
| --- | --- | 
| spanID | 跟踪中当前操作的唯一标识符 | 
| traceId | 跨所有服务和线程的整个请求流的唯一标识符 | 

要配置分布式跟踪，请更新您的登录配置，以便在日志模式中包含 TraceID 和 spanID。添加或更新以下属性：

```
<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" />
```

示例日志输出：

```
2026-02-02 20:00:00 default INFO [6966b3c1dc96c2da73be7e2b6f9f25dc,73be7e2b6f9f25dc] - q.t.s.i.TestJobProcessImpl - Length is: 100
```