

AWS Mainframe Modernization Service （受管執行期環境體驗） 不再向新客戶開放。對於與 AWS Mainframe Modernization Service （受管執行期環境體驗） 類似的功能，探索 AWS Mainframe Modernization Service （自我管理體驗）。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[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 Transform 的可用屬性，以及如何啟用這些屬性。

**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)

## 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 公用程式中提供 Null 位元組指標值

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

此表格提供金鑰/值參數的詳盡檢視。

**注意**  
如果您要遷移至 5.1.0 版或更新版本，並使用 bluesam 搭配預設 openWarmUp 行為：  
的預設值`bluesam.openWarmUp`已從 變更為 `true` `false`
若要維護現有的行為，您必須明確設定 `bluesam.openWarmUp=true`


| 金錀 | Type | 預設值 | Description | 發行版本 | 
| --- | --- | --- | --- | --- | 
| `system.date.format` | string  | MDY | 系統日期格式 DATFMT。 | --- | 
| `system.date.separator` | string  | / | 系統日期分隔符號 DATSEP。<br />可能的值為斜線 (`/`)、破折號 (`–`)、句點 (`.`)、逗號 (`，`) 或空白 (` `)。值必須以雙引號 `""` 指定。 | 5.17.0 | 
| `logging.config` | 路徑 | classpath：logback-main.xml | 參考 日誌傳回組態檔案的標準金鑰。您也可以使用其他標準日誌金鑰。 |  | 
| `spring.jta.enabled` | boolean | false | 標準金鑰。如果資料來源支援模式不是靜態 xa，則必須停用彈簧 JTA 交易自動設定。 |  | 
| `datasource.jicsDs` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` \+ -`type` | 具有子索引鍵的標準彈簧資料來源 |  | 包含 Jics 資料庫的連線資訊。或者，強烈建議使用 AWS 秘密，如 中所述[JICS 資料庫](ba-runtime-config-app-secrets.md#jics-database)。 |  | 
| `jildb.datasource` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` | 具有子索引鍵的標準彈簧資料來源 |  | 包含 Jics 資料庫的連線資訊。 |  | 
| `jildb.backend` | string |  | 指定 Jildb 後端中使用的資料庫類型，例如 Oracle。 |  | 
| `jildb.record-hold-timeout` | int | 10000 | 指定 Jildb 中記錄保留機制的等待逾時期間，以毫秒為單位。 |  | 
| `datasource.bluesamDs` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` \+ -`type` | 具有子索引鍵的標準彈簧資料來源 |  | 包含Blusam資料庫的連線資訊。或者，強烈建議使用 AWS 秘密，如中所述[Blusam 資料庫](ba-runtime-config-app-secrets.md#blusam-database)。 |  | 
| `blu4iv.userspace.pageSize` | int | 4096 | 指定用於配置使用者空間儲存體的頁面大小。任何指定時間的使用者空間大小一律是指定此數字的倍數。 | 4.10.0 | 
| `blu4iv.userspace.store-type` | string | memory | 指定用於使用者空間登錄檔的存放區類型。支援的值為記憶體和 redis。如果未提供儲存類型，預設會使用記憶體。 | 4.10.0 | 
| `blu4iv.userspace.redis.*` | 支援的 Redis 屬性 |  | 指定使用者空間 redis 存放區的組態屬性，請參閱 [大型主機執行期 AWS 轉換中可用的 Redis 快取屬性](ba-runtime-redis-configuration.md)。 | 4.10.0 | 
| `blu4iv.userspace.batchThreshold` | int | 1 | 指定使用者空間上的更新或設定操作數量，之後使用者空間會保留在外部資料儲存庫中。 | 5.75.0 | 
| `blu4iv.dataaccess.useOldDaoDesign` | boolean | false | 決定應用程式是使用舊 DAO 架構還是新架構的全域旗標。這取決於 DAO 是使用舊設計還是新設計產生。 |  | 
| `bluesam.disabled` | boolean | false | 是否Blusam完全停用。 |  | 
| `bluesam.cache` | string |  | 如果未設定，則不會使用Blusam快取。可能的值 （快取實作） 為 ehcache 和 redis ([Redis 快取屬性](ba-runtime-redis-configuration.md#ba-runtime-redis-caches-properties))。 |  | 
| `bluesam.openWarmUp` | boolean | false | 指定是否在開啟期間快取任何 bluesam 資料集。<br />**警告：中斷 5.1.0 版的變更**<br />**- 預設值從 變更為 `true` `false`。** | 5.1.0 | 
| `bluesam.fileList` | string【】 |  | 指定開啟期間要快取的 bluesam 資料集清單。<br />**請注意：**<br />**- 此參數僅在 `bluesam.openWarmUp` 設定為 時有效`false`。** | 5.1.0 | 
| `bluesam.maxBluesamDisablingThreadpoolSize` | number | 10 | 指定用於停用 bluesam 資料集以進行批次處理的執行緒集區大小上限。 | 4.5.0 | 
| `bluesam.bluesamStatusPollingInterval` | number | 1000 | 指定輪詢 bluesam 狀態以檢查線上活動時，每次反覆運算之間的等待時間 （以毫秒為單位）。 | 4.5.0 | 
| `bluesam.maxBluesamStatusPollingRetry` | number | 3 | 指定輪詢 bluesam 狀態失敗時的重試次數上限。 | 4.5.0 | 
| `bluesam.checkBluesamStatus` | boolean | false | 指定是否要在存取 bluesam 資料集之前檢查其狀態。 | 4.5.0 | 
| `bluesam.prefetchWindowSize` | int | 1000 | 指定要在記憶體中預先擷取和快取以進行 Redis 快取最佳化的記錄數目。此屬性僅在使用 Redis 快取時有效。 |  | 
| `bluesam.prefetchWindowMultiples` | int | 5 | 指定預先擷取時段大小的乘數，以判斷預先擷取時段容量上限。最大容量的計算方式為 `prefetchWindowSize × prefetchWindowMultiples`。此屬性僅在使用 Redis 快取時有效。 |  | 
| `bluesam.sizesCleanUpThreshold` | int | 1000 | 在並行多執行緒寫入期間，大型資料集 (LargeKSDS、 LargeESDS) 每個資料集的內部位移追蹤映射中保留的項目數量上限。當映射超過此閾值時，它會修剪到 10 個最近的項目，以防止堆積耗盡，同時保留足夠的項目，以避免 NullPointerException 同時執行緒存取。如果在大量大型資料集大量載入期間觀察到堆積壓力，請降低此值。 |  | 
| `spring.aws.client.bluesam.redis.secret` | string | null | 指定 Bluesam Redis 快取的登入資料秘密 ARN，請參閱 [AWS 大型主機執行期秘密的轉換](ba-runtime-config-app-secrets.md)。 |  | 
| `spring.aws.client.bluesam.locks.redis.secret` | string | null | 指定 Bluesam 鎖定 Redis 快取的登入資料秘密 ARN，請參閱 [AWS 大型主機執行期秘密的轉換](ba-runtime-config-app-secrets.md)。 |  | 
| `forcedDate` | string |  | 如果有，將日期強制為提供的日期。 |  | 
| `clcommand.rtvmbrd.hasHeader` | string | true | 指定檔案是否包含計數資料列時不應包含的標頭。 |  | 
| `frozenDate` | boolean | true | 指定是否要凍結日期。僅適用於同時設定 的 `forcedDate`。 |  | 
| `externalSort.threshold` | datasize （範例：12 MB) |  | 排序閾值：決定系統何時應使用檔案系統的暫存檔案，從記憶體內切換到外部合併排序。如果未指定 (default=`null`)，則閾值會設定為每個新排序任務可用記憶體的一半。為了估計可用的記憶體，會執行對 System.gc() 的呼叫。 |  | 
| `blockSizeDefault` | number | 32760 | 用於 BDW 位元組的預設區塊大小。 |  | 
| `jics.parameters.datform` | string | MMDDYY | 日期表單。 |  | 
| `jics.initList` | string |  | 初始化 JICS 清單，以逗號分隔。如果存在，它會定義清單的逗號分隔名稱，以便在 CICS 清單之間的 Apache Tomcat 啟動時啟用。範例值：`$UUU,DFH$IVPL,PEZ1`。這將層疊到這些清單中包含的群組及其基礎資源定義，然後執行時間將可見這些定義。預設為空白。 |  | 
| `jics.parameters.applid` | string | 速度 | 套用來識別 JICS 中的應用程式 （至少 4 個字元，無長度上限）。 |  | 
| `jics.parameters.sysid` | string | CICS | 系統識別 (SYSID)。 |  | 
| `jics.parameters.eibtrmid` | string | TERM | 終端機識別符 （最多 4 個字元，最少 1 個字元）。 |  | 
| `jics.parameters.userid` | string |  | 使用者 ID （最多 8 個字元，沒有最小值）。未提供任何值時 （預設為空白），HTTP 工作階段 ID 會用作使用者 ID。 |  | 
| `jics.parameters.username` | string | MYUSERNAME | 使用者名稱 （最多 10 個字元，最少 1 個字元）。 |  | 
| `jics.parameters.netname` | string | MYNETNAME | 網路名稱 （最多 8 個字元，最少 1 個字元）。 |  | 
| `jics.parameters.opid` | string | XXX | 3 字元運算子識別。 |  | 
| `jics.parameters.jobname` | string | MJOBNAME | 任務名稱。 |  | 
| `jics.parameters.sysname` | string | SYSNAME | AS400 系統名稱 (sysname)。 |  | 
| `jics.parameters.cwa.length` | number | 0 | 常見工作區域 (CWA) 的長度。 |  | 
| `jics.parameters.charset` | string | CP037 | JICS 全域使用的字元集。 |  | 
| `jics.parameters.tsqimpl` | string | 藍山 | JICS 暫時儲存佇列 (TSQ) 實作 （允許的值為`bluesam` /`memory` /`redis`) |  | 
| `jics.queues.ts.redis.*` | 支援的 Redis 屬性 |  | 指定 JICS TS Queues Redis 伺服器的組態屬性，請參閱 [支援的 Redis 屬性](ba-runtime-redis-configuration.md#ba-runtime-redis-supported-properties)。 |  | 
| `spring.aws.client.jics.queues.ts.redis.secret` | string | null | 指定 JICS TS Queues Redis 伺服器的登入資料秘密 ARN，請參閱 [AWS 大型主機執行期秘密的轉換](ba-runtime-config-app-secrets.md)。 |  | 
| `lockTimeout` | number | 500 | 鎖定逾時，以毫秒為單位。 |  | 
| `sqlCodePointShift` | number |  | 選用。sql 程式碼點轉移。將舊版 RDBMS 資料遷移至現代 RDBMS 時可能遇到的控制角色的程式碼點轉移。例如，您可以指定`384` 來比對 Unicode 字元`\u0180`。 |  | 
| `sqlIntegerOverflowAllowed` | boolean | false | 指定是否允許 SQL 整數溢位，表示是否允許在主機變數中放置較大的值。 |  | 
| `database.cursor.overflow.allowed` | boolean | true | 指定是否允許游標溢位。設定為`true` 以在游標上執行下一個呼叫，無論其位置為何。設定為`false` 以檢查游標是否位於最後一個位置，再對游標執行下一個呼叫。只有在游標為 SCROLLABLE (SENSITIVE 或 INSENSITIVE) 時才啟用。 |  | 
| `reportOutputPath` | string | `/reports` | 報告輸出路徑。 |  | 
| `server.servlet.session.tracking-modes` | string | Cookie | 指定要使用的工作階段追蹤模式。可能的值為 `url`、`cookie`、`ssl`。多個值可以用逗號分隔。注意：在 Tomcat 上部署時，您需要在 context.xml `cookies=false`中設定 ，因為 Tomcat 優先於追蹤模式組態。 |  | 
| `server.servlet.session.timeout` | string | 30m | 指定工作階段逾時持續時間。範例：`60s`(60 秒）、`4m`(4 分鐘）、`4h`(4 小時）。 |  | 
| `spring.session.store-type` | string | 無 | 高可用性環境的工作階段快取。可能的值為`none` 或 `redis`。預設為 `none`。 |  | 
| `stopExecutionWhenProgNotFound` | boolean | true | 指定在找不到程式時是否停止執行。如果設定為 `true`，則在找不到程式時中斷執行。 |  | 
| `forceHR` | boolean | false | 指定要在主控台或檔案輸出上使用人類可讀 SYSPRINT。 |  | 
| `rollbackOnRTE` | boolean | false | 指定是否要在執行時間例外狀況時轉返隱含執行單位交易。 |  | 
| `sctThreadLimit` | long | 5 | 觸發指令碼的執行緒限制。 |  | 
| `dataSimplifier.onInvalidNumericData` | string | 拒絕 | 解碼無效數值資料時如何反應。允許的值為`reject` /`toleratespaces` /`toleratespaceslowvalues` /`toleratemost`。預設為 `reject`。 |  | 
| `dataSimplifier.numproc` | string | PFD | numproc 編譯器規格。允許的值為 `PFD`/`NOPFD`/`MIG`/。預設值為 `PFD`。 |  | 
| `dataSimplifier.doubleFloatingType` | string | IEEE\_754 | 雙浮點數是用來編碼和解碼浮點數的格式。允許的值為 `IEEE_754` / `HFP`（適用於十六進位浮點數格式）。預設值為 `IEEE_754`。 | 4.7.0 | 
| `filesDirectory` | string |  | 批次處理輸入/輸出檔案的 目錄。 |  | 
| `ims.messages.extendedSize` | boolean | false | 指定是否要在 IMS 訊息上設定擴展大小。 |  | 
| `defaultKeepExistingFiles` | boolean | false | 指定是否設定資料集預設先前值。 |  | 
| `jics.db.ddlScriptLocation` | string |  | Jics DDL 指令碼位置。可讓您使用 .sql 指令碼啟動 Jics 資料庫結構描述。預設為空白。例如，`./jics/sql/jics.sql`。 |  | 
| `jics.db.schemaTestQueryLocation` | string |  | 應包含唯一查詢的 sql 檔案位置，該查詢會傳回 jics 結構描述中的物件數目 （如果有的話）。 |  | 
| `jics.db.dataScriptLocation` | string |  | 定義用於初始化 JICS 資料庫之 SQL 指令碼的路徑。接受以逗號分隔的檔案和目錄清單，允許指定多個指令碼和資料夾。 |  | 
| `jics.db.dataTestQueryLocation` | string |  | 包含單一 sql 查詢的 sql 指令碼位置，預期會傳回物件計數 （例如：計算 jics 程式資料表中的記錄數）。如果計數等於 0，則會使用`jics.db.dataScriptLocation`指令碼載入資料庫，否則會略過資料庫載入。 |  | 
| `jics.data.dataJsonInitLocation` | string |  |  |  | 
| `jics.xa.agent.timeout` | number |  |  |  | 
| `query.useConcatCondition` | boolean | false | 指定金鑰條件是否由金鑰串連建置。 |  | 
| `system.qdecfmt` | string |  |  |  | 
| `disposition.checkexistence` | boolean | false | 指定是否針對具有 DISP SHR 或 OLD 的資料集，釋出檔案存在的檢查。 |  | 
| `useControlMVariable` | boolean | false | 指定是否使用 control-M 規格取代變數。 |  | 
| `card.encoding` | string | CP1145 | 卡片編碼：要與 搭配使用`useControlMVariable`。 |  | 
| `mapTransfo.prefixes` | string | &,@,%% | 轉換 controlM 變數時要使用的字首清單。每個以逗號分隔。 |  | 
| `checkinputfilesize` | boolean | false | 指定如果檔案大小是記錄大小的倍數，是否釋出檢查。 |  | 
| `stepFailWhenAbend` | boolean | true | 指定在步驟失敗或完成執行時是否引發無效。 |  | 
| `returnHttp5xxResponseForFailedSyncJob` | boolean | false | 指定是否針對同步任務執行失敗，傳回 500 系列的 HTTP 回應碼。 | 4.10.0 | 
| `bluesam.fileLoading.commitInterval` | number | 100000 | bluesam 遞交間隔。 |  | 
| `uppercaseUserInput` | boolean | true | 指定使用者輸入是否為大寫。 |  | 
| `jhdb.lterm` | string |  | 在 IMS 模擬的情況下，可讓您強制使用常見的邏輯終端機 ID。如果未設定，則會使用 sessionId。 |  | 
| `jhdb.identificationCardData` | string |  | 用來將一些「運算子識別卡資料」硬式編碼至 CARD 參數指定的 MID 欄位。根據預設，空白，沒有輸入限制。 |  | 
| `encoding` | string | ASCII | 專案中使用的編碼 （不在 groovy 檔案中）。預期有效的編碼`CP1047``IBM930`、`ASCII``UTF-8`... |  | 
| `cl.configuration.context.encoding` | string | CP297 | CL 檔案的編碼。預期有效的編碼`CP1047``IBM930`、`ASCII``UTF-8`... 預設值為`CP297` |  | 
| `cl.zonedMode` | string | EBCDIC\_STRICT | 用於編碼或解碼控制語言 (CL) 命令的模式。允許的值為`EBCDIC_STRICT` /`EBCDIC_MODIFIED` /`AS400`。 |  | 
| `ims.programs` | string |  | 要使用的 IMS 程式清單。以分號 (`;`) 分隔每個參數，並以逗號 () 分隔每個交易`,`。例如：`PCP008,PCT008;PCP054,PCT054;PCP066,PCT066;PCP068,PCT068;` |  | 
| `jhdb.configuration.context.encoding` | string | CP297 | JHDB (Java 階層式資料庫） 編碼。預期有效的編碼字串`CP1047``IBM930`、`ASCII``UTF-8`... |  | 
| `jhdb.metadata.extrapath` | string | file：./setup/ | 組態參數，指定 psb 和 dbds 資料夾的額外執行時間特定根資料夾。 |  | 
| `jhdb.checkpointPersistence` | string | 無 | 檢查點持續性模式。允許的值為`none` /`add` /`end`。使用`add` 在建立新的檢查點並將其新增至登錄檔時保留檢查點。在伺服器關閉時，使用`end`過於持久的檢查點。任何其他值都會停用持久性。請注意，每次將新的檢查點新增至登錄檔時，所有現有的檢查點都會序列化，並清除檔案。它不是附加到 檔案中現有的資料。因此，根據檢查點的數量，它可能會對效能產生一些影響。 |  | 
| `jhdb.checkpointPath` | string | file：./setup/ | 如果`jhdb.checkpointPersistence` 不是`none`，則此參數可讓您設定檢查點持久性路徑 (checkpoint.dat 檔案儲存位置），則登錄檔中包含的所有檢查點資料都會序列化，並備份在提供的資料夾中的檔案 (checkpoint.dat) 中。請注意，只有檢查點資料 (scriptId、stepId、資料庫位置和檢查點區域） 與此備份有關。 |  | 
| `jhdb.navigation.cachenexts` | number | 5000 | RDBMS 階層導覽中使用的快取持續時間 （以毫秒為單位）。 |  | 
| `jhdb.use-db-prefix` | boolean | true | 指定是否要在 RDBMS 的階層導覽中啟用資料庫字首。 |  | 
| `jhdb.query.limitJoinUsage` | boolean | true | 指定是否要在 RDBMS 圖形上使用限制聯結用量參數。 |  | 
| `taskExecutor.corePoolSize` | number | 5 | 當終端機中的交易透過 groovy 指令碼啟動時，就會建立新的執行緒。使用此參數來設定核心集區大小。 |  | 
| `taskExecutor.maxPoolSize` | number | 10 | 當終端機中的交易透過 groovy 指令碼啟動時，就會建立新的執行緒。使用此參數來設定最大集區大小 （平行執行緒的數量上限）。 |  | 
| `taskExecutor.queueCapacity` | number | 50 | 當終端機中的交易透過 groovy 指令碼啟動時，就會建立新的執行緒。使用此參數來設定佇列大小。(= 達到 時`taskExecutor.maxPoolSize`待處理交易的數量上限） |  | 
| `taskExecutor.allowCoreThreadTimeOut` | boolean | false | 指定是否允許核心執行緒在 JCIS 中逾時。這可讓動態增長和縮減，即使與非零佇列結合 （因為最大集區大小只會在佇列已滿時增長）。 |  | 
| `jics.runUnitLauncherPool.enable` | boolean | false | 指定是否要在 JICS 中啟用執行單位啟動器集區。 |  | 
| `jics.runUnitLauncherPool.size` | number | 20 | JICS 中的執行單位啟動器集區大小。 |  | 
| `jics.runUnitLauncherPool.validationInterval` | number | 1000 | 調整集區大小之任務每次執行之間的間隔。 |  | 
| `jics.runUnitLauncherPool.parallelism` | number | 2 | 調整任務執行時，用於在佇列中產生遺失執行個體的執行緒數目。 |  | 
| `context.preconstruct.enable` | boolean | false | 指定是否啟用計劃內容的預先建構。 |  | 
| `context.preconstruct.frequencyInMillis` | number | 100 | 調整集區大小之任務每次執行之間的間隔。 |  | 
| `context.preconstruct.parallelism` | number | 5 | 調整任務執行時，用於在佇列中產生遺失執行個體的執行緒數目。 |  | 
| `context.preconstruct.minInstances` | number | 2 | 第一次需要內容時要建立的執行個體數量。 |  | 
| `spring.aws.application.credentials` | string | null | 從 JICS 中的 AWS 登入資料設定檔載入登入資料。 |  | 
| `jics.queues.sqs.region` | string | eu-west-1 | Amazon Simple Queue Service AWS 的區域，用於 JICS。 |  | 
| `jics.jcl.rt.encoding` | string | CP037 | 在專用 JICS 佇列中寫入的 JCL 指令碼編碼。 |  | 
| `jics.jcl.rt.queue` | string | JICS | JCL 指令碼可在執行時間逐行寫入的佇列名稱。 |  | 
| `mq.queues.sqs.region` | string | eu-west-3 | AWS SQS MQ 服務的 AWS 區域。 |  | 
| `quartz.scheduler.stand-by-if-error` | boolean | false | 指定是否在任務排程器處於待命模式時觸發任務執行。如果為 true，則啟用任務執行時不會觸發。 |  | 
| `databaseStatistics` | boolean | false | 指定是否允許 SQL 建置器收集和顯示統計資料資訊。 |  | 
| `dbDateFormat` | string | yyyy-MM-dd | db 目標日期格式。 |  | 
| `dbTimeFormat` | string | HH：mm：ss | db 目標時間格式。 |  | 
| `dbTimestampFormat` | string | yyyy-MM-dd HH：mm：ss.SSSSSS | db 目標時間戳記格式。 |  | 
| `dateTimeFormat` | string | ISO | dateTimeFormat 說明如何將資料庫日期時間戳記類型溢出至資料簡化器實體。允許的值為`ISO` /`EUR` /`EUR` /`USA` /`LOCAL` |  | 
| `localDateFormat` | string |  | 本機日期格式的清單。使用 分隔每個格式`\`。 |  | 
| `localTimeFormat` | string |  | 本機時間格式的清單。使用 分隔每個格式`\` |  | 
| `localTimestampFormat` | string |  | 本機時間戳記格式的清單。使用 分隔每個格式`\`。 |  | 
| `pgmDateFormat` | string | yyyy-MM-dd | 日期時間格式。 |  | 
| `pgmTimeFormat` | string | HH.mm.ss | 用於 pgm （程式） 執行的時間格式。 |  | 
| `pgmTimestampFormat` | string | yyyy-MM-dd-HH.mm.ss.SSSSSS | 時間戳記格式。 |  | 
| `cacheMetadata` | boolean | true | 指定是否快取資料庫中繼資料。 |  | 
| `forceDisableSQLTrimStringType` | boolean | false | 指定是否停用所有 sql 字串參數的修剪。 |  | 
| `fetchSize` | number |  | 游標的 fetchSize 值。依載入/卸載 utils 使用區塊擷取資料時使用 。 |  | 
| `check-groovy-file` | boolean | true | 指定是否要在註冊之前檢查 groovy 檔案內容。 |  | 
| `qtemp.uuid.length` | number | 9 | QTEMP 唯一 ID 長度。 |  | 
| `qtemp.dblog` | boolean | false | 是否啟用 QTEMP 資料庫記錄。 |  | 
| `qtemp.cleanup.threshold.hours` | number | 0 | 指定何時`qtemp.dblog`啟用 。db 分割區生命週期 （小時）。 |  | 
| `invalidDataTolerence` | boolean | true | 指定是否容忍封裝類型的無效資料。 |  | 
| `program.timeout` | number | -1 | 指定任何程式/交易執行的逾時，以秒為單位。在此期間之後，系統會嘗試中斷程式。 |  | 
| `gapwalk.line.separator` | string | null | 在 gapwalk 中指定行分隔符號類型。允許的值為 WIN (CRLF) / UNIX (LF) / LINUX (LF)。系統會忽略其他值，並使用 System line.sepatator 屬性。 |  | 
| `enableActivePgmIdCache` | boolean | false | 指定是否啟用作用中的程式 ID 本機快取。請謹慎使用此功能，因為 JICS 資源可以在程式和使用者之間共用。任何管理員都可以在外部變更這些資源，且已設置的本機快取可能會失效。 |  | 
| `mq.queues.default.syncpoint` | boolean | false | 指定未設定 MQPMO\_SYNCPOINT 或 MQPMO\_NO\_SYNCPOINT 時 MQ PUT 命令的預設行為。當設定為 true 時，它會充當 ，`MQPMO_SYNCPOINT`且訊息不會在 PUT 命令期間直接遞交。當設定為 false 時，它會充當 ，`MQPMO_NO_SYNCPOINT`並在 PUT 命令期間直接遞交訊息。 |  | 
| `dataSimplifier.byteRangeBoundsCheck` | boolean | false | 設為 true 時，可確保不會使用不正確的值建立 ByteRange。預設值為 false。 |  | 
| `file.stdoutIntoLogger` | boolean | false | 指定是否要在預設 `SYSPRINT`和 `SYSPUNCH` 檔案中啟用寫入記錄器，而非預設系統輸出串流。 |  | 
| `tempFilesDirectory` | string | null | 指定產生的暫存檔案的資料夾位置名稱。 |  | 
| `cleanTempFilesDirectoryAtStartup` | boolean | true | 指定是否要在應用程式啟動時清除暫存檔案資料夾的內容。 |  | 
| `tempFolderPattern` | string | null | 指定模式，用於根據下列預先定義且可自訂的資訊，動態建置暫時資料夾的名稱。<br />HOST：主機名稱。<br />JOBID：任務的 ID。<br />HASHCODE：任務內容的雜湊碼。<br />TIMESTAMP：取得時間戳記時要使用的模式。暫時資料夾的目標名稱為 TMP\_DIR\_{tempFolderPattern}。例如，在下列模式的情況下，名稱將以任務 ID 開頭，並以 “timestamp”： tempFolderPattern： JOBID，HOST=xxxxx，HASHCODE，TIMESTAMP=yyyymmddhhmmsss 結尾。如果屬性`tempFolderPattern`未新增至 YAML 檔案或為空，則暫時資料夾的名稱將為 "TMP\_DIR\_" \+ this.hashCode() (DefaultJobContext)。 |  | 
| `database.cursor.raise.already.opened.error` | boolean | false | 指定是否在已開啟的游標開啟時啟用提升 SQLCODE 錯誤 502。 |  | 
| `jics.spool.smtp.hostname` | string | null | 指定 SMTP 伺服器主機。範例：`smtp.xxx.com` |  | 
| `jics.spool.smtp.port` | string | null | 指定 SMTP 伺服器連接埠。範例：25 |  | 
| `jics.spool.smtp.password` | string | null | 指定 SMTP 伺服器的登入密碼。 |  | 
| `jics.spool.smtp.username` | string | null | 指定 SMTP 伺服器的使用者名稱。 |  | 
| `jics.spool.smtp.debug` | boolean | false | 指定 SMTP 伺服器的偵錯模式。 |  | 
| `gapwalk-application.security` | string | `disabled` | 切換全域安全組態 (XSS、CORS、CSRF、OAUTH 身分驗證...)。允許的值為 `disabled` 和 `enabled`。 |  | 
| `gapwalk-application.security.identity` | string | null | 全域身分驗證方法。建議值為 `oauth`。允許的值為 `json` 和 `oauth`。當 `gapwalk-application.security`為 時，此選項為必要項目`enabled`。 |  | 
| `gapwalk-application.security.issuerUri` | string | null | 身分提供者 (IdP) 的發行者 URI。當 `gapwalk-application.identity`為 時，此選項為必要項目`oauth`。 |  | 
| `gapwalk-application.security.allowedOrigins` | string【】 | `null` | 要允許的原始伺服器清單。此選項`gapwalk-application.identity`需要設定為 `oauth`。 |  | 
| `gdgDirectoryPath` | string | `output/gdg` | GDG 目錄路徑是存放 gdg 檔案的目錄。 | 4.6.0 | 
| `gapwalk-application.security.customAllowedHeaders` | string【】 | null | 要允許的自訂標頭清單。此選項`gapwalk-application.identity`需要設定為 `oauth`。 | 4.8.0 | 
| `listOfMDCUrlParams` | string | `null` | 執行 Groovy 批次指令碼時要新增至 MDC 的 URL 參數清單。 |  | 
| `gapwalk-application.security.claimGroupName` | string | `cognito:groups` | 包含使用者所屬所有群組清單的宣告屬性。`cognito:groups` 用於 Amazon Cognito，或外部 IdP 的任何其他字串。 |  | 
| `gapwalk-application.security.userAttributeName` | string | `username` | 用於識別使用者請求的宣告屬性名稱。`username` 用於 Amazon Cognito、`preferred_username`用於 Keycloak，或用於外部 IdP 的任何其他字串。 |  | 
| `gapwalk-application.defaultSuperAdminUserName` | string | `sadmin` | 當 `gapwalk-application.security` 停用時，指定預設的本機超級使用者名稱。 |  | 
| `gapwalk-application.defaultSuperAdminUserPwd` | string | `sadmin` | 當 `gapwalk-application.security` 停用時，指定預設的本機超級使用者密碼。 |  | 
| `gapwalk-application.security.filterURIs` | string | `disabled` | 切換篩選 URIs組態。允許的值為 `disabled` 和 `enabled`。 |  | 
| `gapwalk-application.security.blockedURIs` | string【】 | null | 要封鎖的 URIs清單。當 `gapwalk-application.security.filterURIs`為 時，此為必要選項`enabled`。 |  | 
| `jics.redis.*` | 支援的 Redis 屬性 |  | 指定 JICS Redis 伺服器連線工廠的組態屬性，請參閱 [支援的 Redis 屬性](ba-runtime-redis-configuration.md#ba-runtime-redis-supported-properties)。 |  | 
| `spring.aws.client.jics.redis.secret` | string | null |  指定 JICS Redis 伺服器連線工廠的登入資料秘密 ARN，請參閱 [AWS 大型主機執行期秘密的轉換](ba-runtime-config-app-secrets.md)。 |  | 
| `jcl.checkpoint.enabled` | boolean | false | 指定是否啟用 JCL 檢查點機制以允許任務重新啟動。JCL 檢查點會在每個步驟或主要程式調用開始時建立並儲存至記憶體內登錄檔。如果定義持久性提供者，則所有步驟層級檢查點都會保留在任務結束時。 |  | 
| `jcl.checkpoint.expireTimeout` | number | -1 |  指定在持久性提供者或記憶體內登錄檔中保留 JCL 檢查點的持續時間。 |  | 
| `jcl.checkpoint.expireTimeoutUnit` | string | 秒 | 指定 `jcl.checkpoint.expireTimeout` 屬性的持續時間單位。支援的列舉常值：java.util.concurrent.TimeUnit。 |  | 
| `jcl.checkpoint.provider` | string | null | 指定 JCL 檢查點機制持續性提供者。允許的值為 `redis`。 |  | 
| `jcl.checkpoint.redis.*` | 支援的 Redis 屬性 |  |  指定 JCL 檢查點機制 REDIS 持續性提供者的組態屬性，請參閱 [支援的 Redis 屬性](ba-runtime-redis-configuration.md#ba-runtime-redis-supported-properties)。 |  | 
| `jcl.nullJclEof` | boolean | true | 指定任務執行期間如何處理 null JCL 陳述式 (//)。為 true 時， // 會立即終止任務 (EOF 模式）。當 false 時， // 會被視為 null 陳述式，且執行會繼續 (IGNORE 模式）。 |  | 
| `job.default.encoding` | string | CP1047 | 指定用於初始化任務層級儲存體的預設編碼。例如，BLU4IV 應用程式中的交換器使用此編碼初始化為零。 | 4.9.0 | 
| `spring.aws.client.jcl.checkpoint.redis.secret` | string | null |  指定 JCL 檢查點機制 Redis 持久性提供者的登入資料秘密 ARN，請參閱 [AWS 大型主機執行期秘密的轉換](ba-runtime-config-app-secrets.md)。 |  | 
| `gapwalk.ssl.enabled` | boolean | false | 如果應用程式啟動時尚未設定，則表示將下列`gapwalk.ssl.*`屬性設定為目前的 JVM 系統屬性。 |  | 
| `gapwalk.ssl.trustStore` | string | null | `javax.net.ssl.trustStore` 如果應用程式啟動時尚未設定 ，請將 值設定為系統屬性。 |  | 
| `gapwalk.ssl.trustStorePassword` | string | null | `javax.net.ssl.trustStorePassword` 如果應用程式啟動時尚未設定 ，請將 值設定為系統屬性。或者，強烈建議使用 AWS 秘密，如中所述[SSL 密碼設定的秘密管理員](ba-runtime-config-app-secrets.md#ba-runtime-ssl-secrets-properties)。 |  | 
| `gapwalk.ssl.trustStoreType` | string | null | `javax.net.ssl.trustStoreType` 如果應用程式啟動時尚未設定 ，請將 值設定為系統屬性。 |  | 
| `gapwalk.ssl.keyStore` | string | null | `javax.net.ssl.keyStore` 如果應用程式啟動時尚未設定 ，請將 值設定為系統屬性。 |  | 
| `gapwalk.ssl.keyStorePassword` | string | null | `javax.net.ssl.keyStorePassword` 如果應用程式啟動時尚未設定 ，請將 值設定為系統屬性。或者，強烈建議使用 AWS 秘密，如中所述[SSL 密碼設定的秘密管理員](ba-runtime-config-app-secrets.md#ba-runtime-ssl-secrets-properties)。 |  | 
| `mq.queues` | string | `sqs` | 指定`sqs`要在使用 Amazon SQS、`rabbitmq`使用內部部署 Rabbit MQ 或使用內部部署 IBMMQ 的 `jms`之間使用的支援佇列緩衝器。 |  | 
| `mq.queues.jmsMQQueueManagers[N]` |  |  | 當 `mq.queues`為 時`jms`， 可讓 指定 IBM MQ 連線清單。 `mq.queues.jmsMQQueueManagers[0]` 用於第一個連線， `mq.queues.jmsMQQueueManagers[1]`用於第二個連線，以此類推。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQQueueManager` | string | null | IBMMQ 佇列管理員名稱。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQAppName` | string | null | IBMMQ 應用程式名稱。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQChannel` | string | null | IBMMQ 頻道名稱。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQHost` | string | null | IBMMQ 主機名稱。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQPort` | number | null | IBMMQ 連接埠。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQUserid` | string | null | IBMMQ 使用者名稱。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQPassword` | string | null | IBMMQ 使用者密碼。或者，強烈建議使用 AWS 秘密，如中所述[IBM MQ 密碼設定的秘密管理員](ba-runtime-config-app-secrets.md#ba-runtime-IBMMQ-secrets-properties)。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQMaxPoolSize` | number | 0 | IBMMQ 集區大小上限 。使用 0 時，會啟用無限數量的實體連線。 |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQSSLCipher` | string | null | IBMMQ SSL 密碼套件。範例可以是 `"*TLS12ORHIGHER"`。如需詳細資訊，請參閱適用於 [JMS 的 IBM MQ 類別中的官方文件 TLS CipherSpecs 和 CipherSuites](https://www.ibm.com/docs/en/ibm-mq/9.2?topic=jms-tls-cipherspecs-ciphersuites-in-mq-classes)。 |  | 
| `mq.queues.non.jms.client` | boolean | false | 指出用於傳送訊息的目標用戶端是否為非 JMS。原生 MQ 格式將用於非 JMS 用戶端，而 RFH2 格式將用於 JMS。 | 4.5.0 | 
| `mq.connection.pool.share` | boolean | false | 指出是否要與相同的佇列管理員共用或重新建立 JMS 連線集區。 | 4.9.0 | 
| `mq.queues.rabbitMQHost` | string | null | Rabbit MQ 主機名稱。 |  | 
| `mq.queues.rabbitMQVirtualHost` | string | null | Rabbit MQ 虛擬主機名稱。 |  | 
| `mq.queues.rabbitMQPort` | number | null | Rabbit MQ 連接埠。 |  | 
| `mq.queues.rabbitMQUsername` | string | null | Rabbit MQ 使用者。 |  | 
| `mq.queues.rabbitMQPassword` | string | null | Rabbit MQ 密碼。 |  | 
| `mf.runtime.switch.N` | boolean | true | 為 MF 自然行序列檔案啟用 null 插入。 | 4.4.0 | 
| `mf.runtime.switch.T` | boolean | false | 啟用在 MF 自然行序列檔案中插入標籤字元。 | 4.4.0 | 
| `gapwalk.database.support.useSavePointToRestoreFail` | boolean | false | 在插入查詢上使用儲存點，在失敗時啟用交易復原。啟用此屬性可能會影響資料庫效能。您可以使用query-to-database映射組態覆寫特定查詢的此設定。 | 4.6.0 | 
| `xmlGeneratorPrettyFormat` | boolean | true | 決定 XmlGenerator 類別中產生的 XML 輸出格式樣式。當設定為 時`true`，XML 輸出會以人類可讀的縮排結構格式化 （已列印的實體）。設為 時`false`，輸出為精簡的單行格式，沒有額外的空格。 | 4.8.0 | 
| `gapwalk.database.metadata.schema-inclusion.enabled` | boolean | false | 啟用記憶體最佳化功能，以控制應用程式快取的資料庫結構描述。透過智慧管理結構描述中繼資料，此組態有助於減少記憶體使用量，同時維持系統穩定性。它會自動包含一些常見的資料庫系統結構描述，可能需要這些結構描述才能正常運作。 | 4.9.0 | 
| `gapwalk.database.metadata.schema-inclusion.schemas.global` | list<String> | null | 定義應快取的結構描述清單。 | 4.9.0 | 
| `sqlConnectionAutoCommitEnabled` | boolean | true | 在連線重設操作期間啟用目前連線的自動遞交。啟用時， 在非 XA 環境中切換到新的資料來源連線之前， 會自動遞交目前的連線，以防止連線不穩定。停用時， 會在重設操作期間記錄有關潛在連線問題的警告訊息。 | 4.10.0 | 
| `gapwalk.post.script.mediatype.json` | boolean | false | 指定來自端點的回應`Content-Type`標頭是否`/post/script/{scriptId:.+}`設定為 `application/json`，取決於布林值變數的值。如果設定為 false，則預設值為 `text/plain; charset=utf-8`。 |  | 
| `startDefaultJob` | string | `false` | 指定是否要在第一次交易時初始化預設任務。 |  | 
| `gapwalk.cobol.cblqda.enabled` | boolean | false | 啟用 CBLQDA 功能，在 OPEN 陳述式期間控制 QSAM 檔案的動態配置。即使未在 JCL 指令碼中定義檔案，此組態也有助於動態配置程式中宣告的暫存檔案。 |  | 
| `mq.queues.jms.connectionfactory.*` | 支援的 Atomikos 連線原廠屬性 |  | 指定 JMS MQ 連線集區的組態屬性。 |  | 

## 選用 Web 應用程式的可用屬性
<a name="ba-runtime-key-value-web"></a>

視您的現代化應用程式而定，您可能需要設定一或多個選用的 Web 應用程式，這些應用程式代表對 z/OS、AS/400 或 IMS/MFS 等相依性的支援。下表包含用於設定每個選用 Web 應用程式的可用金鑰/值參數清單。

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

這個選用的 Web 應用程式包含對 Z/OS 公用程式的支援。

此表格提供此應用程式金鑰/值參數的詳盡檢視。


| 金錀 | Type | 預設值 | Description | 發行版本 | 
| --- | --- | --- | --- | --- | 
| `logging.config` |  路徑 |  classpath：logback-utility.xml |  參考 日誌傳回組態檔案的標準金鑰。您也可以使用其他標準日誌金鑰。 |  | 
| `spring.jta.enabled` |  boolean |  false |  標準金鑰。如果資料來源支援模式不是靜態 xa，則必須停用彈簧 JTA 交易自動組態。 |  | 
| `spring.datasource.primary.jndi-name` |  string |  jdbc/primary |  如果使用 JNDI，則主要資料來源的 JNDI 名稱 (Java 命名和目錄界面）。 |  | 
| `primary.datasource` -`driver-class-name` -`url` -`username` -`password` |  具有子索引鍵的標準彈簧資料來源 |   |  如果不使用 JNDI，則包含應用程式資料庫的連線資訊。組態必須與現代化應用程式 YAML 檔案中的組態相同。<br /> 或者，強烈建議使用 AWS 秘密，如中所述[用戶端資料庫](ba-runtime-config-app-secrets.md#client-database)。 |  | 
| `encoding` |  string |  ASCII |  公用程式中使用的編碼。預期有效的編碼 `CP1047`、`IBM930`、`ASCII``UTF-8`。 |  | 
| `sysPunchEncoding` |  string |  ASCII |  syspunch 編碼字元集。預期有效的編碼`CP1047``IBM930`，`ASCII``UTF-8`。 |  | 
| `systin.encoding` |  string |  ASCII |  SYSTIN 檔案資料集的編碼字元集。預期有效的編碼`CP1047``IBM930`，`ASCII``UTF-8`。 | 4.5.0 | 
| `zonedMode` |  string |  EBCDIC\_STRICT |  編碼或解碼區域資料類型的 模式。允許的值為`EBCDIC_STRICT` /`EBCDIC_MODIFIED` /`AS400`。 |  | 
| `idcams.encoding.forced` |  string |  |  IDCAMS 公用程式程式中使用的編碼。預期有效的編碼 `CP1047`、`IBM930`、`ASCII`、`UTF-8`。 | 4.4.0 | 
| `unload.chunkSize` |  number |  0 |  用於卸載公用程式的區塊大小。 |  | 
| `unload.computeRecordSizeIfNull` |  boolean |  false | 決定是否要計算未指定的記錄大小。如果指定，則值保持不變。 |  | 
| `unload.sqlCodePointShift` |  number |  0 |  卸載公用程式的 SQL 程式碼指標轉移。執行轉移字元程序。當您的目標資料庫來自 DB2 為 Postgresql 時為必要。 |  | 
| `unload.columnFiller` |  string |  空格 |  卸載公用程式資料欄填充。 |  | 
| `unload.varCharIsNull` |  boolean |  false |  在 INFTILB 程式中使用此參數，如果設定為`true` ，則所有具有空白 （空格） 值的非 null 欄位都會傳回空字串。 |  | 
| `unload.useDatabaseConfiguration` |  boolean |  false |  指定是否要在卸載公用程式中使用 application-main.yml 的日期或時間組態。 |  | 
| `unload.format.date` |  string |  MM/dd/yyyy |  如果`unload.useDatabaseConfiguration`已啟用，則在卸載公用程式中使用的日期格式。 |  | 
| `unload.format.time` |  string |  HH.mm.ss |  如果`unload.useDatabaseConfiguration`已啟用 ，則在卸載公用程式中使用的時間格式。 |  | 
| `unload.format.timestamp` |  string |  yyyy-MM-dd-HH.mm.ss.SSSSSS |  如果`unload.useDatabaseConfiguration`已啟用 ，則在卸載公用程式中使用的時間戳記格式。 |  | 
| `unload.nbi.whenNull` |  十六進位 |  6F |  當資料庫的值為 Null 時，要新增的 Null Byte Indicator (NBI) 值。 |  | 
| `unload.nbi.whenNotNull` |  十六進位 |  00 |  當來自資料庫的值不是 Null 時，要新增的 Null Byte Indicator (NBI) 值。 |  | 
| `unload.nbi.writeNullIndicator` |  boolean |  false |  指定是否要在卸載輸出檔案中寫入 null 指標。 |  | 
| `unload.bmc.useInto` |  boolean |  false |  指定是否處理卸載公用程式的 INTO bmc 控制關鍵字。 |  | 
| `unload.fetchSize` |  number |  0 |  可讓您在卸載公用程式中處理游標時調整擷取大小。 |  | 
| `unload.noPad` |  boolean |  true |  指出要卸載可變長度字元 (VARCHAR) 欄位，而不會填補到最大長度。 | 4.5.0 | 
| `treatLargeNumberAsInteger` |  boolean |  false |  指定是否將大型數字視為 `Integer`。根據預設，它們會被視為 `BigDecimal`。 |  | 
| `load.batchSize` |  number |  0 |  負載公用程式批次大小。 |  | 
| `load.format.localDate` |  string |  dd.MM.yyyy\\dd/MM/yyyy\\yyyy-MM-dd |  要使用的負載公用程式本機日期格式。 |  | 
| `load.format.localTime` |  string |  HH：mm：ss\\HH.mm.ss |  要使用的負載公用程式本機時間格式。 |  | 
| `load.format.dbDate` |  string |  yyyy-MM-dd |  要使用的負載公用程式資料庫格式。 |  | 
| `load.format.dbTime` |  string |  HH：mm：ss |  要使用的負載公用程式資料庫時間。 |  | 
| `load.sqlCodePointShift` |  number |  0 秒 |  負載公用程式的 SQL 程式碼指標轉移。執行轉移字元程序。當您的目標資料庫來自 DB2 為 Postgresql 時為必要。 |  | 
| `load.applyRollback` | boolean | false | 將此參數設定為 ，`true`表示您希望服務在將資料載入資料庫時發生錯誤時轉返資料表變更。 |  | 
| `forcedDate` |  string |   |  如果有，將日期強制為提供的日期。 |  | 
| `frozenDate` |  boolean |  true |  指定是否要凍結日期。僅適用於同時設定 的 `forcedDate`。 |  | 
| `jcl.type` |  string |  mvs |  .jcl 檔案類型。允許的值為`jcl` /`vse`。如果非 vse jcl 的檔案為空，IDCAMS 公用程式 PRINT/REPRO 命令會傳回 4。 |  | 
| `hasGraphic` |  boolean |  false |  INFUTILB 公用程式是否需要處理 GRAPHIC DB2 資料欄。 |  | 
| `convertGraphicDataToFullWidth` |  boolean |  true | 指定是否要將圖形資料轉換為完整寬度格式。 |  | 

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

此選用的 Web 應用程式包含對 AS/400 公用程式的支援。

此表格提供此應用程式金鑰/值參數的詳盡檢視。


| 金錀 | Type | 預設值 | Description | 
| --- | --- | --- | --- | 
|  `logging.config` |  路徑 |  classpath：logback-utility.xml |  參考 日誌傳回組態檔案的標準金鑰。您也可以使用其他標準日誌金鑰。 | 
|  `spring.jta.enabled` |  boolean |  false |  標準金鑰。如果資料來源支援模式不是靜態 xa，則必須停用彈簧 JTA 交易自動組態。 | 
|  `spring.datasource.primary.jndi-name` |  string |  jdbc/primary |  如果使用 JNDI，則主要資料來源的 JNDI 名稱 (Java 命名和目錄界面）。 | 
|  `primary.datasource` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` |  具有子索引鍵的標準彈簧資料來源 |   |  如果不使用 JNDI，則包含應用程式資料庫的連線資訊。組態必須與現代化應用程式 YAML 檔案中的組態相同。<br /> 或者，強烈建議使用 AWS 秘密，如中所述[用戶端資料庫](ba-runtime-config-app-secrets.md#client-database)。 | 
|  `encoding` |  string |  ASCII |  公用程式中使用的編碼。預期有效的編碼`CP1047``IBM930`、`ASCII``UTF-8`... | 
|  `zonedMode` |  string |  EBCDIC\_STRICT |  編碼或解碼區域資料類型的 模式。允許的值為`EBCDIC_STRICT` /`EBCDIC_MODIFIED` /`AS400`。 | 
|  `commands-off` |  string |   | 要關閉的命令清單，以逗號分隔。允許的值為`PGM_BASIC`、`RCVMSG``SNDRCVF`、`CHGVAR`、`QCLRDTAQ`、`RTVJOBA``ADDLFM`、`ADDPFM`、`RCVF``OVRDBF`、、`DLTOVR`、`CPYF``SNDDTAQ`。當您想要停用或覆寫現有程式時很有用。 `PGM_BASIC` 是針對大型主機執行期程式的特定 AWS 轉換，專為偵錯目的而設計。 | 
|  `forcedDate` |  string |   | 如果有，將日期強制為提供的日期。 | 

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

此選用的 Web 應用程式包含 IMS/MFS 交易支援。

此表格提供此應用程式金鑰/值參數的詳盡檢視。


| 金錀 | Type | 預設值 | Description | 
| --- | --- | --- | --- | 
|  `logging.config` |  路徑 |  classpath：logback-utility.xml |  參考 日誌傳回組態檔案的標準金鑰。您也可以使用其他標準日誌金鑰。 | 
|  `spring.jta.enabled` |  boolean |  false |  標準金鑰。如果資料來源支援模式不是靜態 xa，則必須停用彈簧 JTA 交易自動組態。 | 
|  `jhdb.configuration.context.encoding` |  string |   |  JHDB (Java 階層式資料庫） 編碼。預期有效的編碼字串`CP1047``IBM930`、`ASCII`、`UTF-8`... | 
|  `jhdb.checkpointPersistence` |  string |  無 |  檢查點持續性模式。允許的值為`none` /`add` /`end`。使用`add` 在建立新的檢查點並新增至登錄檔時保留檢查點。在伺服器關閉時，使用`end`過於持久的檢查點。任何其他值都會停用持久性。請注意，每次將新的檢查點新增至登錄檔時，所有現有的檢查點都會序列化，並清除檔案。它不是附加到 檔案中現有的資料。因此，根據檢查點的數量，它可能會對效能產生一些影響。 | 
| `jhdb.keepParent` | boolean | false | 是否要在 IMS 插入期間保留 \_parent 和 \_logicalparent。當設定為 true 時，IMS ISRT 呼叫會將 \_parent 和 \_logicalparent 插入資料庫資料欄。 | 
| `jhdb.query.timeout` | int | -1 | 指定任何 jhdb 交易執行的逾時，以秒為單位。在此期間之後，系統會嘗試中斷程式。如果值為 -1 （預設），則不會設定逾時。 | 
| `jhdb.backend` | string |  | Jhdb 後端類型。預期值為 `rdbms` | 
| `jhdb.transaction.scope.programs` | string |  | 要宣告為整個交易的程式清單。以逗號 () 分隔每個程式`,`。例如：`PCP008,PCT008` | 
| `metadata.datasource` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` \+ -`type` | string | 具有子索引鍵的標準彈簧資料來源 | 包含 jhdb 資料庫的中繼資料資訊，包括 psb、dbds、連線。或者，強烈建議使用 AWS 秘密。 | 

## 用戶端應用程式的可用屬性
<a name="ba-runtime-key-value-client"></a>

您的現代化應用程式可能需要用戶端 Spring 應用程式的特定屬性組態。這些屬性會從執行期 JAR 檔案中封裝的類別初始化 Bean。在應用程式產生期間設定設定檔值`application-profile.yaml`的檔案，可讓您設定這些屬性。下表列出可用於設定用戶端 Web 應用程式的金鑰/值參數，該應用程式使用來自 Gapwalk 執行時間中封裝類別的 Bean


| 金錀 | Type | 預設值 | Description | 發行版本 | 
| --- | --- | --- | --- | --- | 
| `blu4iv.dtaara.library.disable` | boolean | false | 在資料區域操作的內容中控制程式庫的使用。如果設為 true，則會針對資料區域操作停用程式庫用量，但這不會影響 QTemp 的用量。如果設定為 false，則在執行資料區域的 CRUD 操作時，會考慮程式庫。 | 4.5.0 | 
| `blu4iv.dao.data.max` | number | 10 | 輸入 DAO 操作的內部快取大小。此快取存在於程式層級 （單一執行個體）。 | 4.9.0 | 
| `blu4iv.dao.sort.function` | string |  | blu4iv 資料庫的排序函數名稱。 | 4.9.0 | 
| `blu4iv.dao.support` | string | JPA | 指定要使用的資料存取實作 (JPA 或 JDBC)。 | 4.9.0 | 
| `blu4iv.dao.cache.enabled` | boolean | false | 啟用記憶體內快取。 | 4.8.0 | 
| `blu4iv.dao.cache.enabledHits` | boolean | false | 將追蹤請求數量新增至快取。 | 4.8.0 | 
| `blu4iv.dao.cache.initMaxResults` | number | 10000 | 快取的大小。 | 4.8.0 | 
| `blu4iv.dao.cache.entries.fileIds` | string |  | 要快取的資料庫資料表清單。 | 4.8.0 | 
| `blu4iv.dao.cache.entries.programIds` | string |  | 應針對指定資料表啟用快取的程式識別符。快取可供執行堆疊中的所有子程式使用。 | 4.8.0 | 
| `blu4iv.librarylist.enabled` | boolean | false | 啟用使用程式庫清單來解析檔案庫。 | 4.10.0 | 
| `blu4iv.librarylist.libraries` | string |  | 從左到右排序的程式庫初始清單。 | 4.10.0 | 

### 設定 AS400 應用程式的記憶體內快取
<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 請求的詳細資訊，透過追蹤存取內容的人員和時間，協助滿足安全需求。


| 金錀 | Type | 預設值 | Description | 發行版本 | 
| --- | --- | --- | --- | --- | 
| `api.logging.enabled` | boolean | false | 啟用 BAC、JAC 和 Gapwalk 應用程式的 API 存取記錄。啟用時， 會使用詳細資訊記錄所有 API 請求。 | 5.0.0 | 

啟用時，使用者可以提供日誌傳回檔案組態，以使用記錄器名稱 ，在所選位置記錄 API 存取日誌`api.access`。日誌可以包含下列 MDC 欄位：


| MDC 欄位 | Description | 
| --- | --- | 
| `api-date` | 提出 API 請求的日期和時間 | 
| `api-duration` | 處理 API 請求所需的時間 （毫秒） | 
| `api-host` | API 請求來自的來源地址 | 
| `api-context` | 託管 API 的位置 | 
| `api-user` | 提出 API 請求的人員的使用者名稱或識別符 | 
| `api-sessionid` | 使用者目前登入工作階段的唯一識別符 | 
| `api-scheme` | 使用的傳輸通訊協定，例如 HTTP 或 HTTPS。 | 
| `api-name` | 存取的端點/URI | 
| `api-retcode` | API 請求完成後傳回的狀態碼 | 
| `api-secure` | 用於保護 API 呼叫的安全方法 （例如 OAuth2、權杖、匿名） | 
| `api-method` | 提出的 HTTP 請求類型 （例如 GET、POST、DELETE、...) | 

若要設定 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
```