

AWS Mainframe Modernization Service(관리형 런타임 환경 환경 환경)는 더 이상 신규 고객에게 공개되지 않습니다. AWS Mainframe Modernization Service(관리형 런타임 환경 환경)와 유사한 기능은 AWS Mainframe Modernization Service(자체 관리형 환경)를 참조하세요. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [AWS Mainframe Modernization 가용성 변경을](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)
+ [선택적 웹 애플리케이션에 사용할 수 있는 속성](#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>

다음 사용 사례는 해당 키 및 값의 예를 보여줍니다.
+ 기본 애플리케이션-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>

이 표는 키/값 파라미터를 전체적으로 보여줍니다.

**참고**  
버전 5.1.0 이상으로 마이그레이션하고 기본 openWarmUp 동작과 함께 bluesam을 사용하는 경우:  
의 기본값`bluesam.openWarmUp`이에서 `true` 로 변경되었습니다. `false` 
기존 동작을 유지하려면를 명시적으로 설정해야 합니다. `bluesam.openWarmUp=true` 


| Key(키) | Type | 기본값  | 설명 | 릴리스 버전 | 
| --- | --- | --- | --- | --- | 
| `system.date.format` | 문자열  | MDY | 시스템 날짜 형식 DATFMT입니다. | --- | 
| `system.date.separator` | 문자열  | / | 시스템 날짜 구분자 DATSEP입니다.<br />가능한 값은 슬래시(`/`), 대시(`–`), 마침표(`.`), 쉼표(`,`) 또는 공백(` `)입니다. 값은 큰따옴표 `""`로 지정해야 합니다. | 5.17.0 | 
| `logging.config` | 경로 | classpath:logback-main.xml | 로그백 구성 파일에 대한 참조를 위한 표준 키입니다. 다른 표준 로깅 키도 사용할 수 있습니다. |  | 
| `spring.jta.enabled` | 부울 | false | 표준 키. 데이터 소스 지원 모드가 static-xa가 아닌 경우 스프링 JTA 트랜잭션 자동 구성을 비활성화해야 합니다. |  | 
| `datasource.jicsDs` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` \+ -`type` | 하위 키가 있는 표준 스프링 데이터소스 |  | Jics 데이터베이스에 대한 연결 정보를 포함합니다. 또는 [JICS 데이터베이스](ba-runtime-config-app-secrets.md#jics-database)에 설명된 대로 AWS 보안 암호를 사용하는 것이 좋습니다. |  | 
| `jildb.datasource` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` | 하위 키가 있는 표준 스프링 데이터소스 |  | Jics 데이터베이스에 대한 연결 정보를 포함합니다. |  | 
| `jildb.backend` | 문자열 |  | Oracle과 같이 Jildb 백엔드에 사용되는 데이터베이스 유형을 지정합니다. |  | 
| `jildb.record-hold-timeout` | int | 10000 | Jildb의 레코드 유지 메커니즘에 대한 대기 제한 시간을 밀리초 단위로 지정합니다. |  | 
| `datasource.bluesamDs` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` \+ -`type` | 하위 키가 있는 표준 스프링 데이터소스 |  | Blusam 데이터베이스에 대한 연결 정보를 포함합니다. 또는 [Blusam 데이터베이스](ba-runtime-config-app-secrets.md#blusam-database)에 설명된 대로 AWS 보안 암호를 사용하는 것이 좋습니다. |  | 
| `blu4iv.userspace.pageSize` | int | 4096 | 사용자 공간에 스토리지를 할당하는 데 사용되는 페이지 크기를 지정합니다. 지정된 시간에 사용자 공간의 크기는 항상이 숫자의 배수입니다. | 4.10.0 | 
| `blu4iv.userspace.store-type` | 문자열 | 메모리 | 사용자 공간 레지스트리에 사용되는 스토어 유형을 지정합니다. 지원되는 값은 메모리 및 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` | 부울 | false | 애플리케이션이 이전 DAO 아키텍처를 사용할지 새 DAO 아키텍처를 사용할지를 결정하는 전역 플래그입니다. 이는 DAO가 이전 설계를 사용하여 생성되었는지 아니면 새 설계를 사용하여 생성되었는지에 따라 달라집니다. |  | 
| `bluesam.disabled` | 부울 | false | Blusam 완전히 비활성화할지 여부입니다. |  | 
| `bluesam.cache` | 문자열 |  | 설정하지 않으면 Blusam 캐시가 사용되지 않습니다. 가능한 값(캐시 구현)은 ehcache 및 redis()입니다[Redis 캐시 속성](ba-runtime-redis-configuration.md#ba-runtime-redis-caches-properties). |  | 
| `bluesam.openWarmUp` | 부울 | false | 열려 있는 동안 블루샘 데이터 세트를 캐싱할지 여부를 지정합니다.<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 | 배치 처리를 위해 블루샘 데이터 세트를 비활성화하는 데 사용되는 최대 스레드풀 크기를 지정합니다. | 4.5.0 | 
| `bluesam.bluesamStatusPollingInterval` | number | 1000 | 온라인 활동을 확인하기 위해 블루샘 상태를 폴링할 때 각 반복 사이의 대기 시간(밀리초)을 지정합니다. | 4.5.0 | 
| `bluesam.maxBluesamStatusPollingRetry` | number | 3 | 블루샘 상태를 폴링하는 데 실패할 때 최대 재시도 횟수를 지정합니다. | 4.5.0 | 
| `bluesam.checkBluesamStatus` | 부울 | false | 블루샘 데이터 세트에 액세스하기 전에 블루샘 데이터 세트 상태를 확인할지 여부를 지정합니다. | 4.5.0 | 
| `bluesam.prefetchWindowSize` | int | 1000 | Redis 캐시 최적화를 위해 메모리에서 미리 가져오고 캐싱할 레코드 수를 지정합니다. 이 속성은 Redis 캐시를 사용할 때만 유효합니다. |  | 
| `bluesam.prefetchWindowMultiples` | int | 5 | 미리 가져오기 창 크기의 승수를 지정하여 최대 미리 가져오기 창 용량을 결정합니다. 최대 용량은 로 계산됩니다`prefetchWindowSize × prefetchWindowMultiples`. 이 속성은 Redis 캐시를 사용할 때만 유효합니다. |  | 
| `bluesam.sizesCleanUpThreshold` | int | 1000 | 동시 다중 스레드 쓰기 중에 대용량 데이터 세트(LargeKSDS, LargeESDS)에 대한 데이터 세트당 내부 오프셋 추적 맵에 보관된 최대 항목 수입니다. 맵이이 임계값을 초과하면 힙 소진을 방지하는 동시에 NullPointerException이 동시 스레드에 액세스하지 못하도록 충분한 항목을 보존하기 위해 가장 최근 항목 10개로 잘립니다. 대용량 데이터 세트 대량 로드 중에 힙 압력이 관찰되는 경우이 값을 줄입니다. |  | 
| `spring.aws.client.bluesam.redis.secret` | 문자열 | null | Bluesam Redis 캐시에 대한 자격 증명 보안 암호 ARN을 지정합니다. [AWS 메인프레임 런타임 보안 암호에 대한 변환](ba-runtime-config-app-secrets.md) 섹션을 참조하세요. |  | 
| `spring.aws.client.bluesam.locks.redis.secret` | 문자열 | null | Bluesam 잠금 Redis 캐시에 대한 자격 증명 보안 암호 ARN을 지정합니다. [AWS 메인프레임 런타임 보안 암호에 대한 변환](ba-runtime-config-app-secrets.md) 섹션을 참조하세요. |  | 
| `forcedDate` | 문자열 |  | 제공된 날짜가 있는 경우 날짜를 지정된 날짜로 강제 적용합니다. |  | 
| `clcommand.rtvmbrd.hasHeader` | 문자열 | true | 파일에 행 수를 계산할 때 포함해서는 안 되는 헤더가 포함되어 있는지 지정합니다. |  | 
| `frozenDate` | 부울 | true | 날짜를 고정할지 여부를 지정합니다. `forcedDate`도 설정된 경우에만 적용됩니다. |  | 
| `externalSort.threshold` | datasize(예: 12MB) |  | 정렬 임계값:는 파일 시스템의 임시 파일을 사용하여 시스템이 인 메모리에서 외부 병합 정렬로 전환해야 하는 시기를 결정합니다. 지정하지 않으면(기본값=`null`) 임계값은 각 새 정렬 작업에서 사용 가능한 메모리의 절반으로 설정됩니다. 사용 가능한 메모리를 추정하기 위해 System.gc()에 대한 호출이 수행됩니다. |  | 
| `blockSizeDefault` | number | 32760 | BDW 바이트에 사용할 기본 블록 크기입니다. |  | 
| `jics.parameters.datform` | 문자열 | MMDDYY | 날짜 양식. |  | 
| `jics.initList` | 문자열 |  | 초기화 JICS 목록입니다(쉼표로 구분됨). 존재하는 경우 CICS 목록 중에서 Apache Tomcat 시작 시 활성화할 목록의 이름을 쉼표로 구분하여 정의합니다. 예제 값: `$UUU,DFH$IVPL,PEZ1`. 그러면 해당 목록에 포함된 그룹과 해당 기본 리소스 정의에 계단식으로 전달되어 런타임에서 이를 볼 수 있습니다. 기본적으로 비어 있습니다. |  | 
| `jics.parameters.applid` | 문자열 | VELOCITY | JICS에서 애플리케이션을 식별하기 위해 적용하는 애플리케이션입니다(최소 4자, 최대 길이 없음). |  | 
| `jics.parameters.sysid` | 문자열 | CICS | 시스템 ID(SYSID). |  | 
| `jics.parameters.eibtrmid` | 문자열 | TERM | 터미널 식별자(최대 4자, 최소 1자). |  | 
| `jics.parameters.userid` | 문자열 |  | 사용자 ID(최대 8자, 최소 문자 없음). 값이 제공되지 않은 경우(기본적으로 비어 있음) HTTP 세션 ID가 사용자 ID로 사용됩니다. |  | 
| `jics.parameters.username` | 문자열 | MYUSERNAME | 사용자 이름(최대 10자, 최소 1자). |  | 
| `jics.parameters.netname` | 문자열 | MYNETNAME | 네트워크 이름(최대 8자, 최소 1자). |  | 
| `jics.parameters.opid` | 문자열 | XXX | 3자리 운영자 식별. |  | 
| `jics.parameters.jobname` | 문자열 | MJOBNAME | 작업 이름입니다. |  | 
| `jics.parameters.sysname` | 문자열 | SYSNAME | AS400 시스템 이름(시스템 이름). |  | 
| `jics.parameters.cwa.length` | number | 0 | 공용 작업 영역(CWA) 길이입니다. |  | 
| `jics.parameters.charset` | 문자열 | CP037 | JICS는 전 세계적으로 사용되는 문자 집합입니다. |  | 
| `jics.parameters.tsqimpl` | 문자열 | bluesam | 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` | 문자열 | null | JICS TS Queues Redis 서버의 자격 증명 보안 암호 ARN을 지정합니다. [AWS 메인프레임 런타임 보안 암호에 대한 변환](ba-runtime-config-app-secrets.md) 섹션을 참조하세요. |  | 
| `lockTimeout` | number | 500 | 잠금 제한 시간(밀리초). |  | 
| `sqlCodePointShift` | number |  | 선택 사항. SQL 코드 포인트 시프트. 레거시 RDBMS 데이터를 최신 RDBMS로 마이그레이션할 때 발생할 수 있는 제어 문자의 코드포인트를 이동합니다. 예를 들어 `\u0180` 유니코드 문자와 일치하도록 `384`를 지정할 수 있습니다. |  | 
| `sqlIntegerOverflowAllowed` | 부울 | false | SQL 정수 오버플로를 허용할지 여부, 즉 호스트 변수에 더 큰 값을 배치할 수 있는지 여부를 지정합니다. |  | 
| `database.cursor.overflow.allowed` | 부울 | true | 커서 오버플로를 허용할지 여부를 지정합니다. 커서의 위치에 상관없이 커서에서 다음 직접적 호출을 수행하도록 `true`로 설정합니다. 커서에서 다음 직접적 호출을 수행하기 전에 커서가 마지막 위치에 있는지 확인하려면 `false`로 설정합니다. 커서를 스크롤할 수 있는 경우(민감 또는 무감각)에만 사용할 수 있습니다. |  | 
| `reportOutputPath` | 문자열 | `/reports` | 보고서 출력 경로. |  | 
| `server.servlet.session.tracking-modes` | 문자열 | 쿠키 | 사용할 세션 추적 모드를 지정합니다. 가능한 값은 `url`, `cookie`, 입니다`ssl`. 쉼표로 구분하여 여러 값을 지정할 수 있습니다. 참고: Tomcat에 배포할 때는 추적 모드 구성`cookies=false`에 Tomcat이 우선하므로 context.xml에서를 설정해야 합니다. |  | 
| `server.servlet.session.timeout` | 문자열 | 30m | 세션 제한 시간을 지정합니다. 예: `60s` (60초), `4m` (4분), `4h` (4시간). |  | 
| `spring.session.store-type` | 문자열 | 없음 | 고가용성 환경을 위한 세션 캐시. 가능한 값은 `none` 또는 `redis`입니다. 기본값은 `none`입니다. |  | 
| `stopExecutionWhenProgNotFound` | 부울 | true | 프로그램을 찾을 수 없는 경우 실행을 중지할지 여부를 지정합니다. `true`로 설정하면 프로그램을 찾을 수 없는 경우 실행을 중단합니다. |  | 
| `forceHR` | 부울 | false | 콘솔 또는 파일 출력에서 사람이 읽을 수 있는 SYSPRINT를 사용할지 여부를 지정합니다. |  | 
| `rollbackOnRTE` | 부울 | false | 런타임 예외 시 암시적 실행 단위 트랜잭션을 롤백할지 여부를 지정합니다. |  | 
| `sctThreadLimit` | long | 5 | 스크립트 트리거에 대한 스레드 한도입니다. |  | 
| `dataSimplifier.onInvalidNumericData` | 문자열 | reject | 유효하지 않은 숫자 데이터를 디코딩할 때 대응하는 방법. 허용되는 값은 `reject` /`toleratespaces` /`toleratespaceslowvalues` /`toleratemost`입니다. 기본값은 `reject`입니다. |  | 
| `dataSimplifier.numproc` | 문자열 | PFD | numproc 컴파일러 사양. 허용되는 값은 `PFD`/`NOPFD`/`MIG`/입니다. 기본값은 `PFD`입니다. |  | 
| `dataSimplifier.doubleFloatingType` | 문자열 | IEEE\_754 | 이중 부동 유형은 부동 소수점 번호를 인코딩하고 디코딩하는 데 사용되는 형식입니다. 허용되는 값은 `IEEE_754` /`HFP`(16진수 부동 소수점 형식의 경우)입니다. 기본값은 `IEEE_754`입니다. | 4.7.0 | 
| `filesDirectory` | 문자열 |  | 일괄 입력/출력 파일을 위한 디렉토리입니다. |  | 
| `ims.messages.extendedSize` | 부울 | false | IMS 메시지에 확장 크기를 설정할지 여부를 지정합니다. |  | 
| `defaultKeepExistingFiles` | 부울 | false | 데이터 세트 기본 이전 값을 설정할지 여부를 지정합니다. |  | 
| `jics.db.ddlScriptLocation` | 문자열 |  | Jics DDL 스크립트 위치입니다. .sql 스크립트를 사용하여 Jics 데이터베이스 스키마를 시작할 수 있습니다. 기본적으로 비어 있습니다. 예를 들어, `./jics/sql/jics.sql`이 있습니다. |  | 
| `jics.db.schemaTestQueryLocation` | 문자열 |  | jics 스키마의 개체 수(있는 경우)를 반환하는 고유한 쿼리를 포함해야 하는 sql 파일의 위치입니다. |  | 
| `jics.db.dataScriptLocation` | 문자열 |  | JICS 데이터베이스를 초기화하는 데 사용되는 SQL 스크립트의 경로를 정의합니다. 여러 스크립트와 폴더를 지정할 수 있도록 쉼표로 구분된 파일 및 디렉터리 목록을 허용합니다. |  | 
| `jics.db.dataTestQueryLocation` | 문자열 |  | 개체 수를 반환할 것으로 예상되는 단일 SQL 쿼리를 포함하는 SQL 스크립트의 위치(예: jics 프로그램 테이블의 레코드 수 계산). 개수가 0이면 `jics.db.dataScriptLocation` 스크립트를 사용하여 데이터베이스를 로드하고 그렇지 않으면 데이터베이스 로드를 건너뛰게 됩니다. |  | 
| `jics.data.dataJsonInitLocation` | 문자열 |  |  |  | 
| `jics.xa.agent.timeout` | number |  |  |  | 
| `query.useConcatCondition` | 부울 | false | 키 조건을 키 연결로 빌드할지 여부를 지정합니다. |  | 
| `system.qdecfmt` | 문자열 |  |  |  | 
| `disposition.checkexistence` | 부울 | false | DISP SHR 또는 OLD를 사용하는 데이터세트의 파일 존재 여부에 대한 검사를 해제할지 여부를 지정합니다. |  | 
| `useControlMVariable` | 부울 | false | 변수 대체에 control-M 사양을 사용할지 여부를 지정합니다. |  | 
| `card.encoding` | 문자열 | CP1145 | 카드 인코딩: `useControlMVariable`과 함께 사용합니다. |  | 
| `mapTransfo.prefixes` | 문자열 | &,@,%% | controlM 변수를 변환할 때 사용할 접두사 목록. 각각 쉼표로 구분됩니다. |  | 
| `checkinputfilesize` | 부울 | false | 파일 크기가 레코드 크기의 배수인 경우 검사를 해제할지 여부를 지정합니다. |  | 
| `stepFailWhenAbend` | 부울 | true | 단계가 실패하거나 실행을 완료한 경우 제한을 발생시킬지 여부를 지정합니다. |  | 
| `returnHttp5xxResponseForFailedSyncJob` | 부울 | false | 동기화된 작업 실행 실패에 대해 500 시리즈의 HTTP 응답 코드를 반환할지 여부를 지정합니다. | 4.10.0 | 
| `bluesam.fileLoading.commitInterval` | number | 100000 | bluesam 커밋 간격. |  | 
| `uppercaseUserInput` | 부울 | true | 사용자 입력이 대문자여야 하는지 여부를 지정합니다. |  | 
| `jhdb.lterm` | 문자열 |  | IMS 에뮬레이션의 경우 공통 논리적 터미널 ID를 강제 적용할 수 있습니다. 설정하지 않으면 sessionId가 사용됩니다. |  | 
| `jhdb.identificationCardData` | 문자열 |  | 일부 ‘연산자 식별 카드 데이터’를 CARD 파라미터로 지정된 MID 필드에 하드코딩하는 데 사용됩니다. 기본적으로 비어 있으며 입력 제한이 없습니다. |  | 
| `encoding` | 문자열 | ASCII | 프로젝트에서 사용되는 인코딩( groovy 파일에서는 사용되지 않음). 올바른 `CP1047`,`IBM930`,`ASCII`,`UTF-8`...인코딩이 필요합니다. |  | 
| `cl.configuration.context.encoding` | 문자열 | CP297 | CL 파일의 인코딩. 올바른 `CP1047`,`IBM930`,`ASCII`,`UTF-8`...인코딩이 필요합니다. 기본 값은 `CP297`입니다 |  | 
| `cl.zonedMode` | 문자열 | EBCDIC\_STRICT | 제어 언어(CL) 명령을 인코딩 또는 디코딩하기 위한 모드입니다. 허용되는 값은 `EBCDIC_STRICT` /`EBCDIC_MODIFIED` /`AS400`입니다. |  | 
| `ims.programs` | 문자열 |  | 사용할 IMS 프로그램 목록. 각 파라미터는 세미콜론(`;`)으로 구분하고 각 트랜잭션은 쉼표(`,`)로 구분합니다. 예:`PCP008,PCT008;PCP054,PCT054;PCP066,PCT066;PCP068,PCT068;`  |  | 
| `jhdb.configuration.context.encoding` | 문자열 | CP297 | JHDB(자바 계층적 데이터베이스) 인코딩. 유효한 인코딩 문자열 `CP1047`,`IBM930`,`ASCII`,`UTF-8`...이 필요합니다. |  | 
| `jhdb.metadata.extrapath` | 문자열 | 파일:. /setup/ | psbs 및 dbds 폴더의 런타임별 추가 루트 폴더를 지정하는 구성 파라미터입니다. |  | 
| `jhdb.checkpointPersistence` | 문자열 | 없음 | 체크포인트 지속성 모드. 허용되는 값은 `none` /`add` /`end`입니다. 새 체크포인트를 생성하여 레지스트리에 추가할 때 체크포인트를 유지하는 데 `add`를 사용합니다. 서버 종료 시 체크포인트를 유지하는 데 `end`를 사용합니다. 다른 값을 입력하면 지속성이 비활성화됩니다. 레지스트리에 새 체크포인트가 추가될 때마다 기존의 모든 체크포인트가 직렬화되고 파일이 지워진다는 점에 유의하세요. 파일의 기존 데이터에 추가되지 않습니다. 따라서 체크포인트 수에 따라 성능에 어느 정도 영향을 미칠 수 있습니다. |  | 
| `jhdb.checkpointPath` | 문자열 | 파일:. /setup/ | `jhdb.checkpointPersistence`이 `none`가 아닌 경우 이 파라미터를 사용하여 체크포인트 지속성 경로(checkpoint.dat 파일 저장 위치)를 설정할 수 있습니다. 레지스트리에 포함된 모든 체크포인트 데이터는 직렬화되고 제공된 폴더에 있는 파일(checkpoint.dat)에 백업됩니다. 이 백업에는 체크포인트 데이터(scriptId, stepId, 데이터베이스 위치 및 체크포인트 영역) 만 관련된다는 점에 유의하세요. |  | 
| `jhdb.navigation.cachenexts` | number | 5000 | RDBMS의 계층 탐색에 사용되는 캐시 기간(밀리초)입니다. |  | 
| `jhdb.use-db-prefix` | 부울 | true | RDBMS의 계층 탐색에서 데이터베이스 접두사를 사용할지 여부를 지정합니다. |  | 
| `jhdb.query.limitJoinUsage` | 부울 | true | RDBMS 그래프에서 제한 조인 사용량 파라미터를 사용할지 여부를 지정합니다. |  | 
| `taskExecutor.corePoolSize` | number | 5 | groovy 스크립트를 통해 터미널에서 트랜잭션을 시작하면 새 스레드가 생성됩니다. 이 파라미터를 사용하여 코어 풀 크기를 설정합니다. |  | 
| `taskExecutor.maxPoolSize` | number | 10 | groovy 스크립트를 통해 터미널에서 트랜잭션을 시작하면 새 스레드가 생성됩니다. 이 파라미터를 사용하여 최대 풀 크기(최대 병렬 스레드 수)를 설정합니다. |  | 
| `taskExecutor.queueCapacity` | number | 50 | groovy 스크립트를 통해 터미널에서 트랜잭션을 시작하면 새 스레드가 생성됩니다. 이 파라미터를 사용하여 큐 크기를 설정합니다.(= `taskExecutor.maxPoolSize` 도달 시 보류 중인 트랜잭션의 최대 수) |  | 
| `taskExecutor.allowCoreThreadTimeOut` | 부울 | false | JCIS에서 코어 스레드의 타임아웃을 허용할지 여부를 지정합니다. 이렇게 하면 0이 아닌 대기열과 함께 사용해도 동적으로 확장 및 축소할 수 있습니다(대기열이 가득 차면 최대 풀 크기가 커지기 때문입니다). |  | 
| `jics.runUnitLauncherPool.enable` | 부울 | false | JICS에서 실행 유닛 런처 풀을 활성화할지 여부를 지정합니다. |  | 
| `jics.runUnitLauncherPool.size` | number | 20 | 실행 유닛 런처 풀 크기(JICS). |  | 
| `jics.runUnitLauncherPool.validationInterval` | number | 1000 | 풀의 크기를 조정하는 작업의 각 실행 사이 간격입니다. |  | 
| `jics.runUnitLauncherPool.parallelism` | number | 2 | 조정 작업이 실행될 때 대기열에 누락된 인스턴스를 생성하는 데 사용되는 스레드 수입니다. |  | 
| `context.preconstruct.enable` | 부울 | false | 프로그램 컨텍스트의 사전 구성을 활성화할지 여부를 지정합니다. |  | 
| `context.preconstruct.frequencyInMillis` | number | 100 | 풀의 크기를 조정하는 작업의 각 실행 사이 간격입니다. |  | 
| `context.preconstruct.parallelism` | number | 5 | 조정 작업이 실행될 때 대기열에 누락된 인스턴스를 생성하는 데 사용되는 스레드 수입니다. |  | 
| `context.preconstruct.minInstances` | number | 2 | 컨텍스트가 처음 필요할 때 생성되는 인스턴스 수입니다. |  | 
| `spring.aws.application.credentials` | 문자열 | null | JICS의 AWS 자격 증명 프로필 파일에서 자격 증명을 로드합니다. |  | 
| `jics.queues.sqs.region` | 문자열 | eu-west-1 | JICS에서 사용되는 Amazon Simple Queue Service의 AWS 리전입니다. |  | 
| `jics.jcl.rt.encoding` | 문자열 | CP037 | 전용 JICS 대기열에 작성된 JCL 스크립트의 인코딩입니다. |  | 
| `jics.jcl.rt.queue` | 문자열 | JICS | 런타임 시 JCL 스크립트를 줄별로 작성할 수 있는 대기열의 이름입니다. |  | 
| `mq.queues.sqs.region` | 문자열 | eu-west-3 | AWS SQS MQ 서비스의 AWS 리전입니다. |  | 
| `quartz.scheduler.stand-by-if-error` | 부울 | false | 작업 스케줄러가 대기 모드인 경우 작업 실행을 트리거할지 여부를 지정합니다. true인 경우 활성화된 경우 작업 실행이 트리거되지 않습니다. |  | 
| `databaseStatistics` | 부울 | false | SQL 빌더가 통계 정보를 수집하고 표시할 수 있도록 허용할지 여부를 지정합니다. |  | 
| `dbDateFormat` | 문자열 | yyyy-MM-dd | db 대상 날짜 형식. |  | 
| `dbTimeFormat` | 문자열 | HH:mm:ss | db 목표 시간 형식. |  | 
| `dbTimestampFormat` | 문자열 | yyyy-MM-dd HH:mm:ss.SSSSSS | db 대상 타임스탬프 형식. |  | 
| `dateTimeFormat` | 문자열 | ISO | dateTimeFormat은 데이터베이스 날짜 타임스탬프 유형을 데이터 단순화 엔티티에 흘리는 방법을 설명합니다. 허용되는 값은 `ISO` /`EUR` /`EUR` /`USA` /`LOCAL`입니다 |  | 
| `localDateFormat` | 문자열 |  | 현지 날짜 형식 목록. 각 형식을 `\`로 구분하세요. |  | 
| `localTimeFormat` | 문자열 |  | 현지 시간 형식 목록. 각 형식을 `\`과 같이 구분합니다 |  | 
| `localTimestampFormat` | 문자열 |  | 로컬 타임스탬프 형식 목록. 각 형식을 로 `\`구분합니다. |  | 
| `pgmDateFormat` | 문자열 | yyyy-MM-dd | 날짜 시간 형식. |  | 
| `pgmTimeFormat` | 문자열 | HH.MM.ss | pgm(프로그램) 실행에 사용되는 시간 형식입니다. |  | 
| `pgmTimestampFormat` | 문자열 | YYYY-MM-DD-HH.mm.ss.ssssss | 타임스탬프 형식. |  | 
| `cacheMetadata` | 부울 | true | 데이터베이스 메타데이터를 캐시할지 여부를 지정합니다. |  | 
| `forceDisableSQLTrimStringType` | 부울 | false | 모든 SQL 문자열 파라미터의 트림을 비활성화할지 여부를 지정합니다. |  | 
| `fetchSize` | number |  | 커서의 fetchSize 값입니다. 로드/언로드 유틸리티로 청크를 사용하여 데이터를 가져올 때 사용합니다. |  | 
| `check-groovy-file` | 부울 | true | 등록하기 전에 groovy 파일 내용을 확인할지 여부를 지정합니다. |  | 
| `qtemp.uuid.length` | number | 9 | QTEMP 고유 번호는 길이입니다. |  | 
| `qtemp.dblog` | 부울 | false | QTEMP 데이터베이스 로깅 활성화 여부. |  | 
| `qtemp.cleanup.threshold.hours` | number | 0 | `qtemp.dblog` 활성화 시기를 지정합니다. db 파티션 수명(시간). |  | 
| `invalidDataTolerence` | 부울 | true | 압축된 유형에 대해 잘못된 데이터가 허용되는지 여부를 지정합니다. |  | 
| `program.timeout` | number | -1 | 프로그램/트랜잭션 실행에 대한 제한 시간을 초 단위로 지정합니다. 이 시간이 지나면 시스템은 프로그램을 중단하려고 시도합니다. |  | 
| `gapwalk.line.separator` | 문자열 | null | gapwalk에서 줄 구분자 유형을 지정합니다. 허용되는 값은 WIN(CRLF)/UNIX(LF)/LINUX(LF)입니다. 다른 값은 무시되고 System line.sepatator 속성이 사용됩니다. |  | 
| `enableActivePgmIdCache` | 부울 | false | 활성 프로그램 ID 로컬 캐시를 활성화할지 여부를 지정합니다. JICS 리소스를 프로그램과 사용자 간에 공유할 수 있으므로 이 기능을 신중하게 사용합니다. 이러한 리소스는 관리자가 외부에서 변경할 수 있으며 배치된 로컬 캐시가 무효화될 수 있습니다. |  | 
| `mq.queues.default.syncpoint` | 부울 | false | MQPMO\_SYNCPOINT 또는 MQPMO\_NO\_SYNCPOINT가 설정되지 않은 경우 MQ PUT 명령의 기본 동작을 지정합니다. true로 설정하면 `MQPMO_SYNCPOINT`로 작동하며 PUT 명령 중에 메시지가 직접 커밋되지 않습니다. false로 설정하면 `MQPMO_NO_SYNCPOINT`로 작동하며 PUT 명령 중에 메시지가 직접 커밋됩니다. |  | 
| `dataSimplifier.byteRangeBoundsCheck` | 부울 | false | true로 설정하면 부적절한 값으로 ByteRange가 생성되지 않도록 합니다. 기본값은 false입니다. |  | 
| `file.stdoutIntoLogger` | 부울 | false | 기본 `SYSPRINT` 및 `SYSPUNCH` 파일의 기본 시스템 출력 스트림 대신 로거에 쓰기를 활성화할지 여부를 지정합니다. |  | 
| `tempFilesDirectory` | 문자열 | null | 생성된 임시 파일의 폴더 위치 이름을 지정합니다. |  | 
| `cleanTempFilesDirectoryAtStartup` | 부울 | true | 애플리케이션 시작 시 임시 파일 폴더의 콘텐츠를 제거할지 여부를 지정합니다. |  | 
| `tempFolderPattern` | 문자열 | null | 다음과 같은 사전 정의되고 사용자 지정 가능한 정보를 기반으로 임시 폴더의 이름을 동적으로 빌드하는 데 사용할 패턴을 지정합니다.<br />HOST: 호스트 이름입니다.<br />JOBID: 작업의 ID입니다.<br />HASHCODE: 작업 컨텍스트의 해시 코드입니다.<br />TIMESTAMP: 타임스탬프를 가져올 때 사용할 패턴입니다. 임시 폴더의 대상 이름은 TMP\_DIR\_{tempFolderPattern}입니다. 예를 들어 다음 패턴의 경우 이름은 작업 ID로 시작하고 “timestamp”: tempFolderPattern: JOBID,HOST=xxxxx,HASHCODE,TIMESTAMP=yyyymmddhhmmss로 끝납니다. 속성 `tempFolderPattern` 이 YAML 파일에 추가되지 않았거나 비어 있는 경우 임시 폴더의 이름은 "TMP\_DIR\_" \+ this.hashCode() (DefaultJobContext)입니다. |  | 
| `database.cursor.raise.already.opened.error` | 부울 | false | 이미 열려 있는 커서가 열릴 때 SQLCODE 오류 502 발생을 활성화할지 여부를 지정합니다. |  | 
| `jics.spool.smtp.hostname` | 문자열 | null | SMTP 서버 호스트를 지정합니다. 예시: `smtp.xxx.com` |  | 
| `jics.spool.smtp.port` | 문자열 | null | SMTP 서버 포트를 지정합니다. 예: 25 |  | 
| `jics.spool.smtp.password` | 문자열 | null | SMTP 서버의 로그인 암호를 지정합니다. |  | 
| `jics.spool.smtp.username` | 문자열 | null | SMTP 서버의 사용자 이름을 지정합니다. |  | 
| `jics.spool.smtp.debug` | 부울 | false | SMTP 서버의 디버그 모드를 지정합니다. |  | 
| `gapwalk-application.security` | 문자열 | `disabled` | 글로벌 보안 구성(XSS, CORS, CSRF, OAUTH 인증...)을 전환합니다. 허용되는 값은 `disabled` 및 `enabled`입니다. |  | 
| `gapwalk-application.security.identity` | 문자열 | null | 글로벌 인증 방법입니다. 권장 값은 `oauth`입니다. 허용되는 값은 `json` 및 `oauth`입니다. `gapwalk-application.security`가 `enabled`인 경우 이 옵션은 필수입니다. |  | 
| `gapwalk-application.security.issuerUri` | 문자열 | null | ID 제공업체(iDP)의 발행자 URI입니다. `gapwalk-application.identity`가 `oauth`인 경우 이 옵션은 필수입니다. |  | 
| `gapwalk-application.security.allowedOrigins` | string[] | `null` | 허용할 오리진 목록입니다. 이 옵션을 사용하려면 `gapwalk-application.identity`를 `oauth`로 설정해야 합니다. |  | 
| `gdgDirectoryPath` | 문자열 | `output/gdg` | GDG 디렉터리 경로는 gdg 파일이 저장되는 디렉터리입니다. | 4.6.0 | 
| `gapwalk-application.security.customAllowedHeaders` | string[] | null | 허용할 사용자 지정 헤더 목록입니다. 이 옵션을 사용하려면 `gapwalk-application.identity`를 `oauth`로 설정해야 합니다. | 4.8.0 | 
| `listOfMDCUrlParams` | 문자열 | `null` | Groovy 배치 스크립트를 실행할 때 MDC에 추가할 URL 파라미터 목록입니다. |  | 
| `gapwalk-application.security.claimGroupName` | 문자열 | `cognito:groups` | 사용자가 속한 모든 그룹의 목록을 포함하는 클레임 속성입니다. Amazon Cognito에 `cognito:groups`를 사용하거나 외부 IdP에 다른 문자열을 사용합니다. |  | 
| `gapwalk-application.security.userAttributeName` | 문자열 | `username` | 사용자 요청을 식별하는 데 사용되는 클레임 속성 이름입니다. Amazon Cognito에 `username`, Keycloak에 `preferred_username` 또는 외부 IdP에 기타 문자열을 사용합니다. |  | 
| `gapwalk-application.defaultSuperAdminUserName` | 문자열 | `sadmin` | `gapwalk-application.security`가 비활성화되면 기본 로컬 최고 사용자 이름을 지정합니다. |  | 
| `gapwalk-application.defaultSuperAdminUserPwd` | 문자열 | `sadmin` | `gapwalk-application.security`가 비활성화되면 기본 로컬 최고 사용자 암호를 지정합니다. |  | 
| `gapwalk-application.security.filterURIs` | 문자열 | `disabled` | URI 구성 필터링을 전환합니다. 허용되는 값은 `disabled` 및 `enabled`입니다. |  | 
| `gapwalk-application.security.blockedURIs` | string[] | null | 차단할 URI의 목록입니다. `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` | 문자열 | null |  JICS Redis 서버 연결 팩토리에 대한 자격 증명 보안 암호 ARN을 지정합니다. [AWS 메인프레임 런타임 보안 암호에 대한 변환](ba-runtime-config-app-secrets.md) 섹션을 참조하세요. |  | 
| `jcl.checkpoint.enabled` | 부울 | false | JCL 체크포인트 메커니즘이 작업 재시작을 허용하도록 활성화되었는지 여부를 지정합니다. JCL 체크포인트는 각 단계 또는 기본 프로그램 간접 호출이 시작될 때 생성되어 인 메모리 레지스트리에 저장됩니다. 지속성 공급자가 정의된 경우 모든 단계 수준 체크포인트는 작업 종료 시 유지됩니다. |  | 
| `jcl.checkpoint.expireTimeout` | number | -1 |  지속성 공급자 또는 인 메모리 레지스트리에 JCL 체크포인트를 유지하는 기간을 지정합니다. |  | 
| `jcl.checkpoint.expireTimeoutUnit` | 문자열 | 초 | `jcl.checkpoint.expireTimeout` 속성의 기간 단위를 지정합니다. 지원되는 열거형 상수 값: java.util.concurrent.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 | 작업 실행 중에 null JCL 문(//)을 처리하는 방법을 지정합니다. true인 경우 //는 작업을 즉시 종료합니다(EOF 모드). false이면 //가 null 문으로 처리되고 실행이 계속됩니다(IGNORE 모드). |  | 
| `job.default.encoding` | 문자열 | CP1047 | 작업 수준 스토리지를 초기화하는 데 사용되는 기본 인코딩을 지정합니다. 예를 들어 BLU4IV 애플리케이션의 스위치는이 인코딩을 사용하여 0으로 초기화합니다. | 4.9.0 | 
| `spring.aws.client.jcl.checkpoint.redis.secret` | 문자열 | null |  JCL 체크포인트 메커니즘의 Redis 지속성 공급자에 대한 자격 증명 암호 ARN을 지정합니다. [AWS 메인프레임 런타임 보안 암호에 대한 변환](ba-runtime-config-app-secrets.md) 섹션을 참조하세요. |  | 
| `gapwalk.ssl.enabled` | 부울 | false | 애플리케이션 시작 시 아직 설정되지 않은 경우 다음 `gapwalk.ssl.*` 속성을 현재 JVM 시스템 속성으로 설정합니다. |  | 
| `gapwalk.ssl.trustStore` | 문자열 | null | 애플리케이션 시작 시 아직 설정되지 않은 경우 값을 시스템 속성 `javax.net.ssl.trustStore`로 설정합니다. |  | 
| `gapwalk.ssl.trustStorePassword` | 문자열 | null | 애플리케이션 시작 시 아직 설정되지 않은 경우 값을 시스템 속성 `javax.net.ssl.trustStorePassword`로 설정합니다. 또는에 설명된 대로 AWS 보안 암호를 사용하는 것이 좋습니다[SSL 암호 설정을 위한 Secrets Manager](ba-runtime-config-app-secrets.md#ba-runtime-ssl-secrets-properties). |  | 
| `gapwalk.ssl.trustStoreType` | 문자열 | null | 애플리케이션 시작 시 아직 설정되지 않은 경우 값을 시스템 속성 `javax.net.ssl.trustStoreType`로 설정합니다. |  | 
| `gapwalk.ssl.keyStore` | 문자열 | null | 애플리케이션 시작 시 아직 설정되지 않은 경우 값을 시스템 속성 `javax.net.ssl.keyStore`로 설정합니다. |  | 
| `gapwalk.ssl.keyStorePassword` | 문자열 | null | 애플리케이션 시작 시 아직 설정되지 않은 경우 값을 시스템 속성 `javax.net.ssl.keyStorePassword`로 설정합니다. 또는에 설명된 대로 AWS 보안 암호를 사용하는 것이 좋습니다[SSL 암호 설정을 위한 Secrets Manager](ba-runtime-config-app-secrets.md#ba-runtime-ssl-secrets-properties). |  | 
| `mq.queues` | 문자열 | `sqs` | Amazon SQS를 사용하는 `sqs`, 온프레미스 Rabbit MQ를 사용하는 `rabbitmq` 또는 온프레미스 IBMMQ를 사용하는 `jms` 중에 사용할 대기열 브로커를 지정합니다. |  | 
| `mq.queues.jmsMQQueueManagers[N]` |  |  | `mq.queues`가 `jms`이면 IBM MQ 연결 목록을 지정할 수 있습니다. 첫 번째 연결의 경우 `mq.queues.jmsMQQueueManagers[0]`, 두 번째 연결의 경우 `mq.queues.jmsMQQueueManagers[1]` 등입니다. |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQQueueManager` | 문자열 | null | IBMMQ 대기열 관리자 이름입니다. |  | 
| `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].jmsMQPort` | number | null | IBMMQ 포트입니다. |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQUserid` | 문자열 | null | IBMMQ 사용자 이름입니다. |  | 
| `mq.queues.jmsMQQueueManagers[N].jmsMQPassword` | 문자열 | null | IBMMQ 사용자 암호입니다. 또는에 설명된 대로 AWS 보안 암호를 사용하는 것이 좋습니다[IBM MQ 암호 설정을 위한 Secrets Manager](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` | 문자열 | 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` | 부울 | false | 로 메시지를 전송하기 위한 대상 클라이언트가 비 JMS인지 여부를 지정합니다. 기본 MQ 형식은 비 JMS 클라이언트에 사용되고 RFH2 형식은 JMS에 사용됩니다. | 4.5.0 | 
| `mq.connection.pool.share` | 부울 | false | 동일한 Queue Manager와 JMS 연결 풀을 공유할지 또는 다시 생성할지 지정합니다. | 4.9.0 | 
| `mq.queues.rabbitMQHost` | 문자열 | null | Rabbit MQ 호스트 이름입니다. |  | 
| `mq.queues.rabbitMQVirtualHost` | 문자열 | null | Rabbit MQ 가상 호스트 이름입니다. |  | 
| `mq.queues.rabbitMQPort` | number | null | Rabbit MQ 포트입니다. |  | 
| `mq.queues.rabbitMQUsername` | 문자열 | null | Rabbit MQ 사용자입니다. |  | 
| `mq.queues.rabbitMQPassword` | 문자열 | null | Rabbit MQ 암호입니다. |  | 
| `mf.runtime.switch.N` | 부울 | true | MF 특성 라인 순차 파일에 대해 null 삽입을 활성화합니다. | 4.4.0 | 
| `mf.runtime.switch.T` | 부울 | false | MF 자연 행 순차 파일에 탭 문자를 삽입할 수 있습니다. | 4.4.0 | 
| `gapwalk.database.support.useSavePointToRestoreFail` | 부울 | false | 삽입 쿼리에 저장점을 사용하여 실패 시 트랜잭션 복구를 활성화합니다. 이 속성을 활성화하면 데이터베이스 성능에 영향을 미칠 수 있습니다. 쿼리query-to-database 매핑 구성을 사용하여 특정 쿼리에 대해이 설정을 재정의할 수 있습니다. | 4.6.0 | 
| `xmlGeneratorPrettyFormat` | 부울 | true | XmlGenerator 클래스 내에서 생성된 XML 출력의 형식 지정 스타일을 결정합니다. 로 설정하면 `true`XML 출력은 사람이 읽을 수 있고 들여쓰기된 구조(정자체)로 형식이 지정됩니다. 로 설정하면 `false`출력은 추가 공백 없이 압축된 한 줄 형식입니다. | 4.8.0 | 
| `gapwalk.database.metadata.schema-inclusion.enabled` | 부울 | false | 애플리케이션에서 캐시할 데이터베이스 스키마를 제어하는 메모리 최적화 기능을 활성화합니다. 이 구성은 스키마 메타데이터를 지능적으로 관리하여 시스템 안정성을 유지하면서 메모리 공간을 줄이는 데 도움이 됩니다. 여기에는 적절한 작동에 필요할 수 있는 몇 가지 일반적인 데이터베이스 시스템 스키마가 자동으로 포함됩니다. | 4.9.0 | 
| `gapwalk.database.metadata.schema-inclusion.schemas.global` | list<문자열> | null | 캐시해야 하는 스키마 목록을 정의합니다. | 4.9.0 | 
| `sqlConnectionAutoCommitEnabled` | 부울 | true | 연결 재설정 작업 중에 현재 연결의 자동 커밋을 활성화합니다. 활성화하면는 연결 불안정을 방지하기 위해 비 XA 환경에서 새 데이터 소스 연결로 전환하기 전에 현재 연결을 자동으로 커밋합니다. 비활성화하면는 재설정 작업 중 발생할 수 있는 연결 문제에 대한 경고 메시지를 기록합니다. | 4.10.0 | 
| `gapwalk.post.script.mediatype.json` | 부울 | false | 부울 변수의 값에 `application/json`따라 엔드포인트의 응답 `Content-Type` 헤더`/post/script/{scriptId:.+}`를 로 설정할지 여부를 지정합니다. false로 설정하면 기본값은 입니다`text/plain; charset=utf-8`. |  | 
| `startDefaultJob` | 문자열 | `false` | 첫 번째 트랜잭션에서 기본 작업을 초기화할지 여부를 지정합니다. |  | 
| `gapwalk.cobol.cblqda.enabled` | 부울 | false | OPEN 문 중에 QSAM 파일의 동적 할당을 제어하는 CBLQDA 기능을 활성화합니다. 이 구성은 파일이 JCL 스크립트에 정의되지 않은 경우에도 프로그램에서 선언된 임시 파일을 동적으로 할당하는 데 도움이 됩니다. |  | 
| `mq.queues.jms.connectionfactory.*` | 지원되는 Atomikos 연결 팩토리 속성 |  | JMS MQ 연결 풀의 구성 속성을 지정합니다. |  | 

## 선택적 웹 애플리케이션에 사용할 수 있는 속성
<a name="ba-runtime-key-value-web"></a>

현대화된 애플리케이션에 따라 z/OS, AS/400 또는 IMS/MFS와 같은 종속성에 대한 지원을 나타내는 선택적 웹 애플리케이션을 하나 이상 구성해야 할 수 있습니다. 다음 표에는 각 선택적 웹 애플리케이션을 구성하는 데 사용할 수 있는 키/값 파라미터 목록이 나와 있습니다.

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

이 선택적 웹 애플리케이션에는 Z/OS 유틸리티 프로그램에 대한 지원이 포함되어 있습니다.

이 표는 이 애플리케이션의 키/값 파라미터를 전체적으로 보여줍니다.


| Key(키) | Type | 기본값  | 설명 | 릴리스 버전 | 
| --- | --- | --- | --- | --- | 
| `logging.config` |  경로 |  클래스 경로: logback-utility.xml |  로그백 구성 파일에 대한 참조를 위한 표준 키입니다. 다른 표준 로깅 키도 사용할 수 있습니다. |  | 
| `spring.jta.enabled` |  부울 |  false |  표준 키. 데이터 소스 지원 모드가 static-xa가 아닌 경우 스프링 JTA 트랜잭션 자동 구성을 비활성화해야 합니다. |  | 
| `spring.datasource.primary.jndi-name` |  문자열 |  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` |  문자열 |  ASCII |  유틸리티 프로그램에 사용되는 인코딩. 유효한 인코딩 `CP1047`,`IBM930`,`ASCII`,가 필요합니다`UTF-8`. |  | 
| `sysPunchEncoding` |  문자열 |  ASCII |  syspunch 인코딩 문자 세트. 유효한 인코딩`CP1047`,`IBM930`,`ASCII`,가 필요합니다`UTF-8`. |  | 
| `systin.encoding` |  문자열 |  ASCII |  SYSTIN 파일 데이터 세트의 인코딩 문자 집합입니다. 유효한 인코딩`CP1047`,`IBM930`,`ASCII`,가 필요합니다`UTF-8`. | 4.5.0 | 
| `zonedMode` |  문자열 |  EBCDIC\_STRICT |  구역화된 데이터 유형을 인코딩 또는 디코딩하기 위한 모드입니다. 허용되는 값은 `EBCDIC_STRICT` /`EBCDIC_MODIFIED` /`AS400`입니다. |  | 
| `idcams.encoding.forced` |  문자열 |  |  IDCAMS 유틸리티 프로그램에 사용되는 인코딩입니다. 유효한 인코딩 `CP1047`, `IBM930`, `ASCII`,이 필요합니다`UTF-8`. | 4.4.0 | 
| `unload.chunkSize` |  number |  0 |  언로드 유틸리티에 사용되는 청크 크기입니다. |  | 
| `unload.computeRecordSizeIfNull` |  부울 |  false | 지정하지 않을 경우 레코드 크기를 계산할지 여부를 결정합니다. 지정된 경우 값은 변경되지 않습니다. |  | 
| `unload.sqlCodePointShift` |  number |  0 |  언로드 유틸리티의 SQL 코드 포인트 시프트. 문자 이동 프로세스를 실행합니다. DB2의 대상 데이터베이스가 Postgresql인 경우 필요합니다. |  | 
| `unload.columnFiller` |  문자열 |  space |  언로드 유틸리티 열 필러. |  | 
| `unload.varCharIsNull` |  부울 |  false |  INFTILB 프로그램에서 이 파라미터를 사용합니다. 이 파라미터를 설정하면 빈(공백) 값을 가진 null을 허용하지 않는 모든 필드는 빈 문자열을 반환합니다. `true`  |  | 
| `unload.useDatabaseConfiguration` |  부울 |  false |  언로드 유틸리티에서 application-main.yml의 날짜 또는 시간 구성을 사용할지 여부를 지정합니다. |  | 
| `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.whenNull` |  16진수 |  6F |  데이터베이스의 값이 Null일 때 추가할 Null 바이트 표시기(NBI) 값입니다. |  | 
| `unload.nbi.whenNotNull` |  16진수 |  00 |  데이터베이스의 값이 Null이 아닐 때 추가할 Null 바이트 표시기(NBI) 값입니다. |  | 
| `unload.nbi.writeNullIndicator` |  부울 |  false |  언로드 출력 파일에 널 인디케이터를 내보낼지 여부를 지정합니다. |  | 
| `unload.bmc.useInto` |  부울 |  false |  언로드 유틸리티에 대한 INTO bmc 제어 키워드를 처리할지 여부를 지정합니다. |  | 
| `unload.fetchSize` |  number |  0 |  언로드 유틸리티에서 커서를 처리할 때 페치 크기를 조정할 수 있습니다. |  | 
| `unload.noPad` |  부울 |  true |  최대 길이까지 패딩 없이 가변 길이 문자(VARCHAR) 필드를 언로드해야 함을 나타냅니다. | 4.5.0 | 
| `treatLargeNumberAsInteger` |  부울 |  false |  큰 숫자를 `Integer`과 같이 처리할지 여부를 지정합니다. 기본적으로 `BigDecimal`와 같이 취급됩니다. |  | 
| `load.batchSize` |  number |  0 |  로드 유틸리티 배치 크기. |  | 
| `load.format.localDate` |  문자열 |  dd.MM.yyyy\\dd/MM/yyyy\\yyyy-MM-dd |  사용할 로드 유틸리티 로컬 날짜 형식입니다. |  | 
| `load.format.localTime` |  문자열 |  HH:mm:ss\\HH.mm.ss |  사용할 로드 유틸리티 현지 시간 형식입니다. |  | 
| `load.format.dbDate` |  문자열 |  yyyy-MM-dd |  사용할 로드 유틸리티 데이터베이스 형식입니다. |  | 
| `load.format.dbTime` |  문자열 |  HH:mm:ss |  로드 유틸리티 데이터베이스를 사용할 시간입니다. |  | 
| `load.sqlCodePointShift` |  number |  0초 |  로드 유틸리티의 SQL 코드 포인트 시프트. 문자 이동 프로세스를 실행합니다. DB2의 대상 데이터베이스가 Postgresql인 경우 필요합니다. |  | 
| `load.applyRollback` | 부울 | false | 이 파라미터를 `true`로 설정하여 데이터를 데이터베이스에 로드하는 동안 오류가 발생하는 경우 서비스가 테이블 변경 사항을 롤백하도록 지정합니다. |  | 
| `forcedDate` |  문자열 |   |  제공된 날짜가 있는 경우 날짜를 지정된 날짜로 강제 적용합니다. |  | 
| `frozenDate` |  부울 |  true |  날짜를 고정할지 여부를 지정합니다. `forcedDate`도 설정된 경우에만 적용됩니다. |  | 
| `jcl.type` |  문자열 |  mvs |  .jcl 파일 형식입니다. 허용되는 값은 `jcl`/`vse`입니다. IDCAMS 유틸리티 PRINT/REPRO 명령은 vse jcl이 아닌 경우 파일이 비어 있는 경우 4를 반환합니다. |  | 
| `hasGraphic` |  부울 |  false |  INFUTILB 유틸리티가 GRAPHIC DB2 열을 처리해야 하는지 여부. |  | 
| `convertGraphicDataToFullWidth` |  부울 |  true | 그래픽 데이터를 전체 너비 형식으로 변환할지 여부를 지정합니다. |  | 

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

이 선택적 웹 애플리케이션에는 AS/400 유틸리티 프로그램에 대한 지원이 포함되어 있습니다.

이 표는 이 애플리케이션의 키/값 파라미터를 전체적으로 보여줍니다.


| Key(키) | Type | 기본값  | 설명 | 
| --- | --- | --- | --- | 
|  `logging.config` |  경로 |  클래스 경로: logback-utility.xml |  로그백 구성 파일에 대한 참조를 위한 표준 키입니다. 다른 표준 로깅 키도 사용할 수 있습니다. | 
|  `spring.jta.enabled` |  부울 |  false |  표준 키. 데이터 소스 지원 모드가 static-xa가 아닌 경우 스프링 JTA 트랜잭션 자동 구성을 비활성화해야 합니다. | 
|  `spring.datasource.primary.jndi-name` |  문자열 |  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` |  문자열 |  ASCII |  유틸리티 프로그램에 사용되는 인코딩. 올바른 `CP1047`,`IBM930`,`ASCII`,`UTF-8`...인코딩이 필요합니다. | 
|  `zonedMode` |  문자열 |  EBCDIC\_STRICT |  구역화된 데이터 유형을 인코딩 또는 디코딩하기 위한 모드입니다. 허용되는 값은 `EBCDIC_STRICT` /`EBCDIC_MODIFIED` /`AS400`입니다. | 
|  `commands-off` |  문자열 |   | 해제할 명령 목록(쉼표로 구분됨). 허용되는 값은 `PGM_BASIC`,`RCVMSG`,`SNDRCVF`,`CHGVAR`,`QCLRDTAQ`,`RTVJOBA`,`ADDLFM`,`ADDPFM`,`RCVF`,`OVRDBF`,`DLTOVR`,`CPYF`,`SNDDTAQ`입니다. 기존 프로그램을 비활성화하거나 덮어쓰려는 경우에 유용합니다. `PGM_BASIC`는 디버깅용으로 설계된 메인프레임 런타임 프로그램을 위한 특정 AWS 변환입니다. | 
|  `forcedDate` |  문자열 |   | 제공된 날짜가 있는 경우 날짜를 지정된 날짜로 강제 적용합니다. | 

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

이 선택적 웹 애플리케이션에는 IMS/MFS 트랜잭션 지원이 포함되어 있습니다.

이 표는 이 애플리케이션의 키/값 파라미터를 전체적으로 보여줍니다.


| Key(키) | Type | 기본값  | 설명 | 
| --- | --- | --- | --- | 
|  `logging.config` |  경로 |  클래스 경로: logback-utility.xml |  로그백 구성 파일에 대한 참조를 위한 표준 키입니다. 다른 표준 로깅 키도 사용할 수 있습니다. | 
|  `spring.jta.enabled` |  부울 |  false |  표준 키. 데이터 소스 지원 모드가 static-xa가 아닌 경우 스프링 JTA 트랜잭션 자동 구성을 비활성화해야 합니다. | 
|  `jhdb.configuration.context.encoding` |  문자열 |   |  JHDB(Java 계층적 데이터베이스) 인코딩. 유효한 인코딩 문자열 `CP1047`,`IBM930`,`ASCII`,`UTF-8`...이 필요합니다. | 
|  `jhdb.checkpointPersistence` |  문자열 |  없음 |  체크포인트 지속성 모드. 허용되는 값은 `none` /`add` /`end`입니다. 새 체크포인트를 생성하여 레지스트리에 추가할 때 체크포인트를 유지하는 데 `add`를 사용합니다. 서버 종료 시 체크포인트를 유지하는 데 `end`를 사용합니다. 다른 값을 입력하면 지속성이 비활성화됩니다. 레지스트리에 새 체크포인트가 추가될 때마다 기존의 모든 체크포인트가 직렬화되고 파일이 지워진다는 점에 유의하세요. 파일의 기존 데이터에 추가되지 않습니다. 따라서 체크포인트 수에 따라 성능에 어느 정도 영향을 미칠 수 있습니다. | 
| `jhdb.keepParent` | 부울 | false | IMS 삽입 중에 \_parent 및 \_logicalparent를 유지할지 여부입니다. true로 설정하면 IMS ISRT 호출이 데이터베이스 열에 \_parent 및 \_logicalparent를 삽입합니다. | 
| `jhdb.query.timeout` | int | -1 | 모든 jhdb 트랜잭션 실행의 제한 시간을 초 단위로 지정합니다. 이 시간이 지나면 시스템은 프로그램을 중단하려고 시도합니다. 값이 -1(기본값)인 경우 제한 시간이 설정되지 않습니다. | 
| `jhdb.backend` | 문자열 |  | Jhdb 백엔드 유형입니다. 예상 값은 입니다. `rdbms`  | 
| `jhdb.transaction.scope.programs` | 문자열 |  | 전체 트랜잭션으로 선언할 프로그램 목록입니다. 각 프로그램을 쉼표(`,`)로 구분합니다. 예:`PCP008,PCT008` | 
| `metadata.datasource` \+ -`driver-class-name` \+ -`url` \+ -`username` \+ -`password` \+ -`type` | 문자열 | 하위 키가 있는 표준 스프링 데이터소스 | psbs, dbds, 연결을 포함하여 jhdb 데이터베이스에 대한 메타데이터 정보를 포함합니다. 또는 AWS 보안 암호를 사용하는 것이 좋습니다. | 

## 클라이언트 애플리케이션에 사용 가능한 속성
<a name="ba-runtime-key-value-client"></a>

현대화된 애플리케이션에는 클라이언트 Spring 애플리케이션에 대한 특정 속성 구성이 필요할 수 있습니다. 이러한 속성은 런타임 JAR 파일에 패키징된 클래스의 빈을 초기화합니다. 애플리케이션 생성 중에 프로필 값이 설정되는 `application-profile.yaml` 파일을 사용하면 이러한 속성을 구성할 수 있습니다. 다음 표에는 Gapwalk 런타임에 패키징된 클래스의 빈을 사용하는 클라이언트 웹 애플리케이션을 구성하는 데 사용할 수 있는 키/값 파라미터가 나열되어 있습니다.


| Key(키) | Type | 기본값  | 설명 | 릴리스 버전 | 
| --- | --- | --- | --- | --- | 
| `blu4iv.dtaara.library.disable` | 부울 | false | 데이터 영역 작업의 맥락에서 라이브러리 사용을 제어합니다. true로 설정하면 데이터 영역 작업에 대해 라이브러리 사용량이 비활성화되지만 QTemp 사용량에는 영향을 주지 않습니다. false로 설정하면 데이터 영역에 대한 CRUD 작업을 수행할 때 라이브러리가 고려됩니다. | 4.5.0 | 
| `blu4iv.dao.data.max` | number | 10 | 입력 DAO 작업을 위한 내부 캐시의 크기입니다. 이 캐시는 프로그램 수준(단일 인스턴스)에 존재합니다. | 4.9.0 | 
| `blu4iv.dao.sort.function` | 문자열 |  | blu4iv 데이터베이스의 정렬 함수 이름. | 4.9.0 | 
| `blu4iv.dao.support` | 문자열 | JPA | 사용할 데이터 액세스 구현(JPA 또는 JDBC)을 지정합니다. | 4.9.0 | 
| `blu4iv.dao.cache.enabled` | 부울 | false | 인 메모리 캐시를 활성화합니다. | 4.8.0 | 
| `blu4iv.dao.cache.enabledHits` | 부울 | false | 캐시에 요청 수 추적을 추가합니다. | 4.8.0 | 
| `blu4iv.dao.cache.initMaxResults` | number | 10000 | 캐시의 크기입니다. | 4.8.0 | 
| `blu4iv.dao.cache.entries.fileIds` | 문자열 |  | 캐시할 데이터베이스 테이블 목록입니다. | 4.8.0 | 
| `blu4iv.dao.cache.entries.programIds` | 문자열 |  | 지정된 테이블에 대해 캐시를 활성화해야 하는 프로그램의 식별자입니다. 캐시는 실행 스택의 모든 하위 프로그램에 사용할 수 있습니다. | 4.8.0 | 
| `blu4iv.librarylist.enabled` | 부울 | false | 라이브러리 목록을 사용하여 파일 라이브러리를 확인할 수 있습니다. | 4.10.0 | 
| `blu4iv.librarylist.libraries` | 문자열 |  | 왼쪽에서 오른쪽으로 정렬된 라이브러리의 초기 목록입니다. | 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 요청에 대한 세부 정보를 기록하여 누가 언제 무엇을 액세스했는지 추적하여 보안 요구 사항을 충족하는 데 도움이 됩니다.


| Key(키) | Type | 기본값  | 설명 | 릴리스 버전 | 
| --- | --- | --- | --- | --- | 
| `api.logging.enabled` | 부울 | false | BAC, JAC 및 Gapwalk 애플리케이션에 대한 API 액세스 로깅을 활성화합니다. 활성화되면는 모든 API 요청을 세부 정보와 함께 기록합니다. | 5.0.0 | 

활성화되면 사용자는 로거 이름를 사용하여 선택한 위치에 API 액세스 로그를 로깅하는 로그백 파일 구성을 제공할 수 있습니다`api.access`. 로그에는 다음 MDC 필드가 포함될 수 있습니다.


| MDC 필드 | 설명 | 
| --- | --- | 
| `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
```