

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입니다. 가능한 값은 슬래시(`/`), 대시(`–`), 마침표(`.`), 쉼표(`,`) 또는 공백(` `)입니다. 값은 큰따옴표 `""`로 지정해야 합니다.  |  5.17.0  | 
|  `logging.config`  |  경로  |  classpath:logback-main.xml  |  로그백 구성 파일에 대한 참조를 위한 표준 키입니다. 다른 표준 로깅 키도 사용할 수 있습니다.  |  | 
|  `spring.jta.enabled`  |  부울  |  false  |  표준 키. 데이터 소스 지원 모드가 static-xa가 아닌 경우 스프링 JTA 트랜잭션 자동 구성을 비활성화해야 합니다.  |  | 
|  `datasource.jicsDs` \$1 -`driver-class-name` \$1 -`url` \$1 -`username` \$1 -`password` \$1 -`type`  |  하위 키가 있는 표준 스프링 데이터소스  |    |  Jics 데이터베이스에 대한 연결 정보를 포함합니다. 또는 [JICS 데이터베이스](ba-runtime-config-app-secrets.md#jics-database)에 설명된 대로 AWS 보안 암호를 사용하는 것이 좋습니다.  |  | 
|  `jildb.datasource` \$1 -`driver-class-name` \$1 -`url` \$1 -`username` \$1 -`password`  |  하위 키가 있는 표준 스프링 데이터소스  |    |  Jics 데이터베이스에 대한 연결 정보를 포함합니다.  |  | 
|  `jildb.backend`  |  문자열  |    |  Oracle과 같이 Jildb 백엔드에 사용되는 데이터베이스 유형을 지정합니다.  |  | 
|  `jildb.record-hold-timeout`  |  int  |  10000  |  Jildb의 레코드 유지 메커니즘에 대한 대기 제한 시간을 밀리초 단위로 지정합니다.  |  | 
|  `datasource.bluesamDs` \$1 -`driver-class-name` \$1 -`url` \$1 -`username` \$1 -`password` \$1 -`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  |  열려 있는 동안 블루샘 데이터 세트를 캐싱할지 여부를 지정합니다. **경고: 버전 5.1.0의 주요 변경 사항** **- 기본값이에서 `true`로 변경되었습니다`false`.**  |  5.1.0  | 
|  `bluesam.fileList`  |  string[]  |    |  열려 있는 동안 캐시할 bluesam 데이터 세트 목록을 지정합니다. **참고:****-이 파라미터는이 로 `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 캐시를 사용할 때만 유효합니다.  |  | 
|  `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에서 배포할 때는 추적 모드 구성에 Tomcat이 우선하므로 context.xml`cookies=false`에서를 설정해야 합니다.  |  | 
|  `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\$1754  |  이중 부동 유형은 부동 소수점 번호를 인코딩하고 디코딩하는 데 사용되는 형식입니다. 허용되는 값은 `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\$1STRICT  |  제어 언어(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\$1SYNCPOINT 또는 MQPMO\$1NO\$1SYNCPOINT가 설정되지 않은 경우 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  |  다음과 같은 사전 정의되고 사용자 지정 가능한 정보를 기반으로 임시 폴더의 이름을 동적으로 빌드하는 데 사용할 패턴을 지정합니다. HOST: 호스트 이름입니다. JOBID: 작업의 ID입니다. HASHCODE: 작업 컨텍스트의 해시 코드입니다. TIMESTAMP: 타임스탬프를 가져올 때 사용할 패턴입니다. 임시 폴더의 대상 이름은 TMP\$1DIR\$1\$1tempFolderPattern\$1입니다. 예를 들어 다음 패턴의 경우 이름은 작업 ID로 시작하고 “timestamp”: tempFolderPattern: JOBID,HOST=xxxxx,HASHCODE,TIMESTAMP=yyyymmddhhmmss로 끝납니다. 속성 `tempFolderPattern` 이 YAML 파일에 추가되지 않았거나 비어 있는 경우 임시 폴더의 이름은 "TMP\$1DIR\$1" \$1 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  |  동일한 대기열 관리자와 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 파일의 구성과 동일해야 합니다.  또는에 설명된 대로 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\$1STRICT  |   구역화된 데이터 유형을 인코딩 또는 디코딩하기 위한 모드입니다. 허용되는 값은 `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\$1dd/MM/yyyy\$1yyyy-MM-dd  |   사용할 로드 유틸리티 로컬 날짜 형식입니다.  |  | 
|  `load.format.localTime`  |   문자열  |   HH:mm:ss\$1HH.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` \$1 -`driver-class-name` \$1 -`url` \$1 -`username` \$1 -`password`  |   하위 키가 있는 표준 스프링 데이터소스  |     |   JNDI를 사용하지 않는 경우 애플리케이션 데이터베이스의 연결 정보를 포함합니다. 현대화된 애플리케이션 YAML 파일의 구성과 동일해야 합니다.  또는에 설명된 대로 AWS 보안 암호를 사용하는 것이 좋습니다[클라이언트 데이터베이스](ba-runtime-config-app-secrets.md#client-database).  | 
|   `encoding`  |   문자열  |   ASCII  |   유틸리티 프로그램에 사용되는 인코딩. 올바른 `CP1047`,`IBM930`,`ASCII`,`UTF-8`...인코딩이 필요합니다.  | 
|   `zonedMode`  |   문자열  |   EBCDIC\$1STRICT  |   구역화된 데이터 유형을 인코딩 또는 디코딩하기 위한 모드입니다. 허용되는 값은 `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 삽입 중에 \$1parent 및 \$1logicalparent를 유지할지 여부입니다. true로 설정하면 IMS ISRT 호출이 데이터베이스 열에 \$1parent 및 \$1logicalparent를 삽입합니다.  | 
|  `jhdb.query.timeout`  |  int  |  -1  |  모든 jhdb 트랜잭션 실행의 제한 시간을 초 단위로 지정합니다. 이 시간이 지나면 시스템은 프로그램을 중단하려고 시도합니다. 값이 -1(기본값)이면 제한 시간이 설정되지 않습니다.  | 
|  `jhdb.backend`  |  문자열  |    |  Jhdb 백엔드 유형입니다. 예상 값은 입니다. `rdbms`   | 
|  `jhdb.transaction.scope.programs`  |  문자열  |    |  전체 트랜잭션으로 선언할 프로그램 목록입니다. 각 프로그램을 쉼표(`,`)로 구분합니다. 예:`PCP008,PCT008`  | 
|  `metadata.datasource` \$1 -`driver-class-name` \$1 -`url` \$1 -`username` \$1 -`password` \$1 -`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
```