Composer의 ThingWorx 모델 정의 > 모델링 > 통합 커넥터 > 통합 커넥터 사전 요구 사항 > 통합 커넥터에 대한 Integration Runtime Service의 초기 설정
통합 커넥터에 대한 Integration Runtime Service의 초기 설정
ThingWorx를 설치한 후 아래 단계에 따라 ThingWorx Runtime Service를 다운로드하고 구성합니다. Docker 환경의 사용자는 설치 관리자를 사용하여 통합 커넥터에 대한 기본 구성을 설정할 수 있습니다. 설치 관리자에는 아래에 설명한 일부 구성을 수정할 수 있는 로깅 파일이 포함되어 있습니다.
Integration Runtime 다운로드
Integration Runtime 서비스는 support.ptc.com소프트웨어 다운로드 > 소프트웨어 업데이트 주문 또는 다운로드 > ThingWorx Foundation > Release <버전> > ThingWorx Integration Runtime > 최근 제조코드 > ThingWorx Integration Runtime <버전>에서 사용할 수 있습니다.
Integration Runtime 구성
* 
IntegrationRuntime 사물 템플릿에서 사물을 생성하지 마십시오.
1. ThingWorx에서 Integration Runtime이 ThingWorx Platform과 통신하는 데 사용할 응용 프로그램 키를 생성합니다.
2. 다음 옵션 중 하나를 사용하여 통합 서비스를 Java 프로세스로 실행합니다.
* 
-Dorg.apache.camel.jmx.createRmiConnector 설정을 사용하지 마십시오.
연결 매개 변수를 지정하는 외부 구성 파일
java -DconfigFile=<IntegrationRuntime settings의 경로>-jar <IntegrationRuntime-x.x.x의 경로>.jar, 여기서 x.x.x는 사용하는 버전으로 대체됩니다.
3. (선택 사항) 사용자 정의 로그백 설정 파일을 만들고 -Dlogs.includedLogback=<path to logback include>를 사용하여 명령줄에서 해당 파일에 대한 경로를 지정합니다.
4. integrationRuntime-settings.json 구성 파일에서 엔트리를 암호화하거나 전체 구성 파일을 암호화하는 경우 다음을 사용하여 명령줄에서 security-common 암호화 구성에 대한 경로를 지정해야 합니다.
* 
전체 구성 파일을 암호화하는 경우 아래 예에 -Dencrypted.config.file=true가 필요하며 이는 암호화된 Integration Runtime 구성 파일을 가리켜야 합니다. 파일에 있는 엔트리만 암호화하는 경우 해당 설정을 제외하거나 false로 설정합니다.
java -Dsecret.management.config.file=<encryption.conf에 대한 경로> -Dencrypted.config.file=true -DconfigFile=<암호화된 integrationRuntime-settings.json.encrypted에 대한 경로>
아래에 명령의 예가 나와 있습니다.
java -Dsecret.management.config.file=C:\Integ_runtime\encryption.conf -Dencrypted.config.file=true -DconfigFile=integrationRuntime-settings.json.encrypted -jar C:\Integ_runtime\integration-runtime-x.x.x-bXXX.jar
5. ThingWorx HA(고가용성) 클러스터링을 실행하는 경우 모든 WebSocket 연결이 ThingWorx Connection Server를 통해 라우팅되어야 합니다.
통합 커넥터는 WebSocket을 사용하여 ThingWorx와 통신합니다. 일반적인 HA 환경에서는 Connection Server 앞에 부하 분산을 배치하고 여러 Connection Server를 사용합니다. HA 환경에서는 Integration Runtime이 구성된 부하 분산을 통과하고 Connection Server로 라우팅되어야 합니다.
샘플 구성 파일(integrationRuntime-settings.json)
{
"traceRoutes": "false",
"OutboundTimeout": "1",
"Thingworx": {
"appKey": "1234abcd-xxxx-yyyy-zzzz-5678efgh",
"host": "localhost",
"port": "8443",
"basePath": "/Thingworx",
"sslEnable": "true",
"ignoreSSLErrors": "false"
},
"Performance": {
"minPoolSize":"4",
"maxPoolSize":"10",
"maxThreadLife":"10000",
"maxQueueSize":"1000"
},
"Proxy": {
"host":"localhost",
"port":"8888",
"user":"<proxy username>",
"pass":"<proxy password>"
},
"SSL": {
"verbose": "true",
"Keystore": {
"path": "/usr/security/keystore.jks",
"password": "encrypt.keystore.password"
},
"Truststore": {
"path": "/usr/security/truststore",
"password": "encrypt.truststore.password"
}
},
"RetryPolicy": {
"MaximumRetries": 2,
"RetryDelay": 2000,
"BackoffMultiplier": 1
},
"RedirectPolicy": {
"MaximumRedirects": 3,
"EnableRedirect": true
}
}
구성 파일 설정
설명에 나와 있는 대로 일부 구성 설정은 Java 시스템 속성(예: -D<name>=<value>)을 사용하여 지정되거나 구성 파일 설정을 재정의할 수 있습니다.
Integration Runtime 설정
설정
기본값
설명
traceRoutes
false
라우팅의 각 프로세서가 호출될 때 라우팅 실행에서 메시지를 로깅해야 할지를 지정합니다.
Thingworx
ThingWorx Platform(단일 서버 모드) 또는 Connection Server 부하 분산(클러스터 모드)에 연결하는 데 필요한 JSON 형식의 설정을 지정합니다.
SSL
SSL(Secure Sockets Layer) 설정을 JSON 형식으로 지정합니다.
ThingWorx 설정
설정
기본값
설명
appKey
ThingWorx Platform에서 이 Integration Runtime에서 사용하도록 구성된 응용 프로그램 키를 지정합니다. 이 설정은 Java 시스템 속성으로 재정의될 수 있습니다.
* 
암호화 단계는 아래 단원을 참조하십시오.
basePath
/Thingworx
ThingWorx Platform(단일 서버 모드) 또는 Connection Server 부하 분산(클러스터 모드)의 URI에 기본 경로를 지정합니다. 이 설정은 Java 시스템 속성으로 재정의될 수 있습니다.
OutboundTimeout
WSCommnucationSubsystem의 유휴 연결 제한 시간
대기 상태의 타사 요청에 대한 Integration Runtime 제한 시간을 지정합니다. 값이 지정되지 않은 경우 Integration Runtime은 WSCommunicationSubsytem의 유휴 연결 제한 시간에서 값을 가져옵니다.
Integration Runtime이 시작되면 integrationRuntime-settings.json 파일에 지정된 값과 WSCommunictaionSubsystem의 유휴 연결 제한 시간을 비교합니다. 이 두 값 중 하위 값이 Integration Runtime에 전달됩니다.
기본값은 30이며 필요에 따라 설정할 수 있습니다.
host
localhost
ThingWorx Platform(단일 서버 모드) 또는 Connection Server 부하 분산(클러스터 모드)의 URI에 호스트를 지정합니다. 이 설정은 Java 시스템 속성으로 재정의될 수 있습니다.
port
443
ThingWorx Platform(단일 서버 모드) 또는 Connection Server 부하 분산(클러스터 모드)의 URI에 포트를 지정합니다. 이 설정은 Java 시스템 속성으로 재정의될 수 있습니다.
sslEnable
true
WebSocket을 통해 ThingWorx Platform에 연결하는 데 SSL을 사용해야 할지 여부를 지정합니다. true이면 URI에 "wss" 프로토콜이 사용됩니다. 그렇지 않으면 "ws" 프로토콜이 사용됩니다.
ignoreSSLErrors
false
SSL 오류를 무시해야 할지 여부를 지정합니다. 생산 환경에서는 이 값이 true로 설정되지 않아야 합니다.
성능 설정
설정
기본값
설명
minPoolSize
4
이벤트 처리 풀에 할당된 최소 스레드 수입니다.
maxPoolSize
10
이벤트 처리 풀에 할당된 최대 스레드 수입니다.
maxThreadLife
10000
스레드에 대한 최대 응답 대기 시간입니다.
maxQueueSize
1000
새 작업 스레드를 추가하기 전 최대 대기열 엔트리입니다.
[선택 사항] 프록시 설정
설정
기본값
설명
host
해당 없음
프록시 호스트의 이름입니다.
port
해당 없음
프록시 호스트의 포트 번호입니다.
User
해당 없음
프록시 호스트의 사용자 이름입니다.
Pass
해당 없음
프록시 호스트의 암호입니다.
SSL 설정
설정
기본값
설명
verbose
false
Java 핸드셰이크 프로토콜이 verbose 메시지를 출력할지 여부를 지정합니다. true이면 Java 시스템 속성 javax.net.debugssl:handshake:verbose로 설정됩니다.
Keystore
SSL 키스토어 설정을 JSON 형식으로 지정합니다.
Truststore
SSL 신뢰 저장소 설정을 JSON 형식으로 지정합니다.
키스토어 설정
설정
설명
path
SSL 키스토어 파일의 경로를 지정합니다. 이 설정을 사용하는 것은 Java 시스템 속성 javax.net.ssl.keyStore를 설정하는 것과 동일합니다.
password
SSL 키스토어 파일의 암호를 지정합니다. 이 설정을 사용하는 것은 Java 시스템 속성 javax.net.ssl.keyStorePassword를 설정하는 것과 동일합니다. 암호를 일반 텍스트로 저장하지 않으려면 encrypt.keystore.password 값을 사용합니다. 아래의 암호 암호화 설정 단원을 참조하십시오.
신뢰 저장소 설정
설정
설명
path
SSL 신뢰 저장소 파일의 경로를 지정합니다. 이 설정을 사용하는 것은 Java 시스템 속성 javax.net.ssl.trustStore를 설정하는 것과 동일합니다.
password
SSL 신뢰 저장소 파일의 암호를 지정합니다. 이 설정을 사용하는 것은 Java 시스템 속성 javax.net.ssl.trustStorePassword를 설정하는 것과 동일합니다. 암호를 일반 텍스트로 저장하지 않으려면 encrypt.truststore.password 값을 사용합니다. 아래의 암호 암호화 설정 단원을 참조하십시오.
다시 시도 정책 설정
설정
기본값
설명
MaximumRetries
2
시스템 가용성 때문에 실패한 후 요청을 다시 시도하는 횟수를 지정합니다.
HTTP 요청의 경우 서버에서 503 응답으로 다시 시도가 발생합니다.
RetryDelay
1000
요청이 실패하지만 다시 시도될 수 있을 때 RetryDelay는 다시 시도를 시도하기 전 대기 시간(밀리초)을 나타냅니다. RetryDelay는 후속 다시 시도를 확인할 때 BackoffMultiplier와 함께 사용됩니다.
BackoffMultiplier
1
후속 다시 시도에서 RetryDelay를 곱할 시간을 지정합니다. 예를 들어, BackoffMultiplier2로 설정되고 MaximumRetries3으로 설정된 경우 1초 동안 첫 번째 다시 시도가 발생하고, 첫 번째 다시 시도 이후 2초 동안 두 번째 다시 시도가 발생하고, 두 번째 다시 시도 이후 4초 동안 세 번째 다시 시도가 발생하는 방식으로 다시 시도가 발생합니다.
UnauthorizedRetries
2
승인되지 않은 요청 때문에 실패한 요청을 다시 시도하는 횟수를 지정합니다. 이 설정은 서버의 401 응답으로 HTTP 요청에 적용됩니다.
리디렉션 정책 설정
설정
기본값
설명
MaximumRedirects
3
리디렉션을 다시 시도하는 횟수를 지정합니다.
EnableRedirect
true
리디렉션 상태 코드 3xx가 생성되는 요청에 대해 리디렉션을 사용할 수 있는지를 지정합니다.
구성 파일 암호화
보다 강력한 보안을 제공하기 위해 전체 구성 파일 및 선택적으로 파일 내 개별 값을 암호화할 수 있습니다. 이 기능은 Integration Runtime 버전 8.0.4 이상에서 제공됩니다. Integration Runtime 설치에는 security-common 라이브러리가 포함되어 있습니다. 이 라이브러리에 대한 JAR은 Integration Runtime 설치에 포함되어 있습니다. 이 jar에서는 구성 파일을 암호화 및 암호 해독하는 백 엔드 도구를 제공합니다.
명령줄 인터페이스(CLI)는 구성 파일 암호화를 포함한 보안 라이브러리와의 상호 작용에 사용할 수 있습니다. 이 CLI에 대한 자세한 내용은 보안 관리 도구를 참조하십시오. 이 항목에서는 도구를 구할 수 있는 위치와 도구 사용 방법에 대해 설명합니다. 사용자의 편의를 위해 아래 단원에 Integration Runtime 관련 단계가 나와 있습니다. PTC 지원 사이트에서 CLI를 다운로드할 수 있습니다.
1. security-common 라이브러리에는 자체 고유한 구성 파일이 필요합니다. 텍스트 편집기를 사용하여 다음 파일을 만들어 encryption.conf로 저장합니다.
{
security {
secret-provider = "com.thingworx.security.provider.keystore.KeyStoreProvider"
default-encryption-key-length = 128
keystore {
password-file-path = "/ThingworxPlatform"
password-file-name = "keystore-password"
path = "/ThingworxStorage"
name = "keystore"
}
}
}
2. encryption.conf 파일에 지정된 password-file-pathpath 디렉터리를 만듭니다. 위의 예에서 password-file-path 디렉터리는 /ThingworxPlatform(Linux)입니다. Windows 컴퓨터에서는 C:\\ThingworxPlatform입니다.
* 
암호화된 구성 파일을 어디에든 저장할 수 있습니다. 암호화 구성 파일 및 환경 변수가 올바른 경로를 가리키도록 해야 합니다.
3. CLI 배포를 다운로드 및 추출했다고 가정하면 구성 파일을 암호화할 수 있습니다. 명령 프롬프트 또는 셸을 열고 securitycommon-cli-x.x.x.xx/bin 디렉터리로 이동합니다. 여기서 x.x.x.xx는 도구의 버전을 나타냅니다.
4. 다음과 같이 운영 체제에 따라 적합한 CLI를 실행합니다.
Linux - security-common-cli
Windows - security-common-cli.bat
5. 프롬프트가 나타나면 초기화할 보안 구성 파일의 이름을 입력합니다. 다음은 시퀀스의 Linux 예입니다.
../security-common-cli-1.x.x.xx/bin$ ./security-common-cli
Not initialized, use 'init <config-file>' to initialize
> init [pathTo]encryption.conf
Loading config from file encryption.conf
Secret Provider: com.thingworx.security.provider.keystore.KeyStoreProvider
KeyStore
Path: /ThingworxPlatform/keystore
Password File: /ThingworxStorage/keystore-password
Keystore Password: 336974503775017XXXX
>
6. 보안 CLI를 유지하면서 Integration Runtime의 구성 파일을 암호화합니다. 이 예에서는 아래와 같이 encryptFile 명령을 사용하는 integrationRuntime-settings.json입니다.
encryptFile C:\Integ_runtime\integrationRuntime-settings.json C:\Integ_runtime\integrationRuntime-settings.json.encrypted
integrationRuntime-settings.json.encrypted는 암호화된 구성 파일입니다.
7. decryptFile 명령을 사용하여 암호화에 성공했는지 확인합니다. decryptFile C:\Integ_runtime\integrationRuntime-settings.json.encrypted C:\Integ_runtime\integrationRuntime-settings.json.decrypted
* 
integrationRuntime-settings.json.decrypted의 콘텐츠는 원본 integrationRuntime-settings.json 파일의 콘텐츠와 일치해야 합니다.
* 
파일의 암호화되지 않은 버전을 제거합니다.
8. CLI를 닫으려면 프롬프트에 exit를 입력합니다.
구성 파일의 엔트리 암호화
Integration Runtime 8.0.4 +에서 구성 파일의 암호 또는 기타 엔트리를 암호화할 수 있습니다. PostgreSQL 데이터베이스 암호를 암호화하는 데 사용한 것과 동일한 암호화 메커니즘을 ThingWorx Platform에 사용합니다.
암호 암호화의 지침을 따르지만 encrypt.db.password 또는 encrypt.licensing.password 값 대신 encrypt.app.key 값을 사용하고 platform-settings.json 대신 integrationRuntime-settings.json을 사용합니다. ThingWorx 시스템이 이미 PostgreSQL 데이터베이스 암호에 대한 암호화를 사용 중인 경우 이러한 새 암호가 동일한 키 저장소 파일에 추가됩니다. 그렇지 않으면 새 키 저장소 파일이 작성됩니다.
Keystore 및 Keystore 암호 마이그레이션
키 저장소를 사용하여 값을 암호화하고 지금 마이그레이션을 수행하는 경우 키 저장소 및 암호 파일에서 다음 단계를 수행합니다.
1. Integration Runtime이 여전히 twx/config/ThingworxStorage/keyStore를 키 저장소 파일로 사용하는 경우에는 다음을 수행합니다.
/twx/config/ThingworxPlatform/keystore-password에 복사
/ThingworxStorage/keyStore/ThingworxStorage/keystore.jks에 복사
2. ThingWorx 8.5부터 키 저장소 형식이 .jks에서 .pfx로 변경되었습니다. 키 저장소를 마이그레이션해야 합니다. 자세한 내용은 보안 관리 도구 항목의 "ThingWorx 8.5의 변경 사항"을 참조하십시오.
3. 이 단계는 Integration Runtime이 키 저장소 파일을 8.5+ ThingWorx 서버의 키 저장소와 공유하는지 여부에 따라 달라집니다.
키 저장소 파일을 8.5+ ThingWorx Platform의 키 저장소와 공유하는 경우 ThingWorx 업그레이드 안내서에 따라 ThingWorx 서버가 이전 ".jks"에서 새 ".pfx" 형식으로 키 저장소 파일을 자동으로 마이그레이션하도록 하십시오.
키 저장소 파일을 플랫폼과 공유하지 않는 경우 다음 단계를 수행합니다.
a. security-common-cli의 최신 버전을 다운로드합니다. 자세한 내용은 보안 관리 도구 항목의 "사용" 단원을 참조하십시오.
b. CLI를 시작하면 키 저장소가 자동으로 마이그레이션됩니다. 예:

./security-common-cli encryption.conf
c. encryption.conf 파일에서 모든 참조를 keystore.jks에서 keystore로 변경합니다. .pfx 파일 확장자를 포함하지 마십시오.
d. 이전 keystore.jks를 안전한 위치에 백업하고 ThingworxStorage 디렉터리에서 제거합니다.
SSL에 대한 구성
기본적으로 SSL을 사용하여 Integration Runtime이 ThingWorx에 연결됩니다. 다음 표에는 성공적으로 연결하기 위해 필요한 ThingWorx Platform 구성 및 연관된 Integration Runtime 구성 설정이 설명되어 있습니다. ThingWorx Platform에 연결하는 데에는 키 저장소 설정이 필요하지 않습니다. 이러한 설정은 Integration Runtime의 클라이언트 인증서를 양방향 SSL 협상에 제공합니다.
ThingWorx 구성
Integration Runtime 설정
ThingWorx가 SSL용으로 구성되지 않습니다.
SSL 설정에서 Java 시스템 속성을 사용하여 thingworxUri를 지정하거나 ws 프로토콜을 사용하거나 sslEnable=false를 지정합니다.
자체 서명된 인증서를 사용하여 ThingWorx가 SSL용으로 구성되었습니다.
SSL 설정에서 sslEnable=trueignoreSSLErrors=true를 지정합니다.
자체 서명된 인증서를 사용하여 ThingWorx가 SSL용으로 구성되고 인증서가 신뢰됩니다.
CA(인증 기관)가 서명한 인증서를 사용하여 ThingWorx가 SSL용으로 구성되고 ThingWorx가 전체 CA 인증서 체인을 제공하도록 구성되지 않았습니다.
키스토어 파일에서 인증서를 내보내고 신뢰 저장소 파일로 가져옵니다.
SSL 설정에서 enable=trueTrustore를 지정합니다.
신뢰 저장소 암호를 암호화할 수 있습니다.
또는 인증서를 Integration Runtime JVM 기본 신뢰 저장소(일반적으로 $JAVA_HOME//lib/security/cacerts에 위치)에 추가합니다. 이 경우 SSL 설정에서 신뢰 저장소를 명시적으로 지정할 필요가 없습니다.
CA(인증 기관)가 서명한 인증서를 사용하여 ThingWorx가 SSL용으로 구성되고 ThingWorx가 전체 CA 인증서 체인을 제공하도록 구성되었습니다.
SSL 설정에서 enable=true를 지정합니다. 이는 기본 설정입니다.
SSL 구성 예: 비생산 구성
자체 서명된 인증서를 사용하여 ThingWorx가 SSL용으로 구성된 경우 다음 integrationRuntime-settings.json을 사용합니다.
{
"Thingworx": {
"appKey": "1234abcd-xxxx-yyyy-zzzz-5678efgh",
"host": "localhost",
"port": "8443",
"sslEnable": "true",
"ignoreSSLErrors": "true"
}
}
SSL 구성 예: 생산 구성
자체 서명된 인증서를 사용하여 ThingWorx가 SSL용으로 구성된 경우 다음 단계를 사용하여 신뢰 저장소를 만듭니다.
1. 서버의 자체 서명된 인증서를 가져옵니다. 이 인증서는 Integration Runtime에서 신뢰하도록 적용하기 위해 다음 단계에 사용됩니다.
인증서가 로컬로 저장되지 않은 경우 이는 ThingWorx Platform의 자체 서명된 인증서를 구하는 한 가지 방법입니다.
openssl s_client -connect your-ThingWorx-platform:8443< /dev/null| sed -ne'/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'twx-platform-public.crt
2. Integration Runtime이 서버의 자체 서명된 인증서를 신뢰할 때 사용할 신뢰 저장소의 로컬 복사본을 만듭니다.
누락된 인증서를 JVM의 스톡 신뢰 저장소에 직접 추가하지 않고 먼저 해당 복사본을 저장하고 누락된 인증서를 이 복사본에 추가합니다.
cp $JAVA_HOME/jre/lib/security/cacerts /etc/opt/java/security/cacerts-customized
$JAVA_HOME/bin/keytool -importcert -alias somealias -keystore /etc/opt/java/security/cacerts-customized -file twx-platform-public.crt
3. 신뢰 저장소의 암호를 변경합니다.
JVM cacerts 파일에 대한 기본 암호는 changeit입니다. 다른 키스토어의 암호를 변경하는 것과 마찬가지로 다음을 실행하여 cacerts-customized의 암호를 변경할 수 있습니다.
keytool storepasswd keystore /etc/opt/java/security/cacerts-customized
Enter keystore password: changeit
New keystore password: new-password
Re-enter new keystore password: new-password
4. 다음 integrationRuntime-settings.json을 사용합니다.
{
"Thingworx": {
"appKey": "1234abcd-xxxx-yyyy-zzzz-5678efgh",
"host": "localhost",
"port": "8443",
"sslEnable": "true",
"ignoreSSLErrors": "false"
}
"SSL": {
"Truststore": {
"path": "/etc/opt/java/security/cacerts-customized",
"password": "new-password"
}
}
}
샘플 로그 구성 파일(integrationRuntime-logback.xml)
<?xml version="1.0"?>
<included>
<property name="logs.dir" value="/ThingworxStorage/IRlogs" />
<property name="logs.uniqueId" value="${processId}" />
<property name="logs.maxFileSize" value="1MB" />
<property name="logs.maxIndex" value="5" />
<logger name="com.twx.integration" level="DEBUG" />
<logger name="org.apache.camel" level="DEBUG" />
</included>
로그 구성 파일 설정
표준 logback.xml 구성 파일은 IntegrationRuntime.jar에 포함되어 있습니다. 로그백 구성에 대한 자세한 내용은 Logback Project(로그백 프로젝트)를 참조하십시오. 이 파일은 콘솔 및 롤링 로그 파일에 대한 로깅과 함께 루트 로거를 설정합니다. 이 Java 시스템 속성을 사용하여 선택적 포함 파일을 지정할 수 있습니다. logs.includedLogback. 포함 파일을 사용하여 다른 로거를 활성화하고 속성을 지정합니다. 롤링 로그 파일은 고정 창 및 크기 기반 트리거 정책으로 구성되며 아래 속성을 설정하여 사용자 정의할 수 있습니다.
설정
기본값
설명
logs.dir
로그 파일이 생성될 위치를 지정합니다. 기본값은 현재 작업 디렉터리입니다.
logs.maxFileSize
5MB
새 로그 파일에 대한 롤오버를 트리거하는 최대 로그 파일 크기를 지정합니다.
logs.maxIndex
9
고정 크기 롤오버 창의 최대 색인을 지정합니다. 초기 색인은 1부터 시작합니다.
logs.timestampPattern
yyyy-dd-MM HH:mm:ss.SSS
각 로그 이벤트에 사용할 타임스탬프 패턴을 지정합니다.
logs.uniqueId
<processId>
로그 파일 이름에 추가되는 값을 지정합니다. 이는 고유한 파일 이름을 생성하는 데 사용됩니다. 기본값은 JVM의 프로세스 ID를 반환하기 위해 Java 콜백을 통해 가져옵니다.
도움이 되셨나요?