확장 가져오기
확장은 확장 파일 및 메타데이터 파일로 구성된 zip 아카이브입니다. 확장의 콘텐츠를 ThingWorx에 설치하려면 zip 파일을 가져와야 합니다. 모든 확장 zip 파일을 하나의 zip 폴더에 함께 패키징하여 여러 확장을 동시에 가져올 수 있습니다.
확장 가져오기 사용
확장 가져오기는 모든 사용자에 대해 기본적으로 사용 안 함으로 설정되지만 다음과 같이 platform-settings.json 파일을 구성하여 사용으로 설정할 수 있습니다.
1. platform-settings.json 파일을 엽니다. 기본적으로 이 파일은 ThingworxPlatform 폴더에 있습니다.
2. 확장을 가져올 수 있도록 허용하려면 다음 ExtensionPackageImportPolicy 매개 변수를 추가하거나 true로 업데이트합니다. 구성 모범 사례는 아래 단원을 참조하십시오.
* 
모든 매개 변수는 기본적으로 false입니다. 각 매개 변수에 대한 자세한 내용은 platform-settings.json을 참조하십시오.
"ExtensionPackageImportPolicy": {
"importEnabled": false,
"allowJarResources": false,
"allowJavascriptResources": false,
"allowCSSResources": false,
"allowJSONResources": false,
"allowWebAppResources": false,
"allowEntities": false,
"allowExtensibleEntities": false
},
3. platform-settings.json 파일을 저장한 후 닫습니다.
확장 가져오기 제어에 대한 모범 사례
최소 개수의 매개 변수로 확장 가져오기를 제어하도록 ExtensionPackageImportPolicy에서 매개 변수를 구성할 때 반복 접근 방식을 사용합니다. 모든 매개 변수는 기본적으로 false입니다.
1. importEnabled 매개 변수를 true로 설정하고 확장을 가져옵니다.
2. 가져오기가 실패하면 allowEntities 매개 변수를 true로 설정하고 확장을 가져옵니다.
3. 가져오기가 실패하면 allowExtensibleEntites 매개 변수를 true로 설정하고 확장을 가져옵니다.
4. 가져오기가 실패하면 적용 가능한 allow<Content>Resources 매개 변수(예: allowJarResources)를 설정합니다. 리소스는 확장의 metadata.xml 파일에 지정됩니다.
5. 성공적으로 가져온 후 모든 매개 변수를 다시 false로 변경합니다.
6. 플랫폼을 다시 시작하여 확장 가져오기를 비활성화합니다.
확장 가져오기
확장을 가져오려면 아래 단계를 수행하십시오.
1. Composer에서 가져오기/내보내기 > 가져오기를 클릭합니다.
2. 가져오기 옵션 드롭다운 목록에서 확장을 선택합니다.
3. 로컬 디렉터리를 찾아 확장 zip 파일을 선택한 다음 열기를 클릭합니다.
4. 유효성 검사를 클릭한 다음 가져오기를 클릭합니다.
5. 닫기를 클릭하여 가져오기 대화 상자를 닫습니다.
가져온 확장 파일이 대시보드에 표시됩니다.
확장 버전 지정
ExtensionPackage 요소의 dependsOn 속성을 사용하여 확장에 대한 쉼표로 구분된 이름-버전 쌍을 지정할 수 있습니다. 형식은 name:major release number.minor release number.patch number(예: ExtensionA:1.0.0)입니다. 종속성 검사에 사용됩니다.
Java 지원 확장 업그레이드
새 버전을 가져와 Java 지원 확장을 업그레이드하려고 하면 플랫폼을 재시작해야 한다는 정보 메시지가 표시됩니다. 이 오류가 발생하면 확장 zip 파일이 /ThingworxStorage/extensions/upgradequeue 대기열에 배치됩니다. Apache Tomcat 서버를 재시작한 후에는 ThingWorx에서 확장 zip 파일을 대기열에 가져오려고 시도합니다. 대기열에 있는 확장 가져오기가 실패하면 다시 서버를 재시작하여 이전 버전의 확장으로 되돌립니다. ThingWorx가 대기열에 있는 확장을 가져오려고 시도한 후에는 대기열에 있는 확장 가져오기가 실패해도 대기열이 삭제됩니다.
Java 기반 확장을 가져온 후에는 재시작할 필요가 없습니다. 여러 개의 확장을 가져오도록 대기열에 추가할 수 있으며 한 번 재시작한 후에 이러한 확장을 해당 종속성에 따라 적절한 순서로 가져옵니다. 종속성 설정에 대한 자세한 내용은 Extension Development Guide(확장 개발 안내서)를 참조하십시오.
* 
비 Java 확장은 일반적으로 재시작할 필요 없이 가져옵니다. 그러나 다음 시나리오에는 예외가 있습니다.
비 Java 확장이 업그레이드되는 Java 확장을 포함하는 zip 파일로 구성된 압축 파일의 일부인 경우 재시작 후 zip으로 구성된 전체 압축 파일을 대기열에 배치하고 가져옵니다.
비 Java 확장을 가져오고(초기 설치 또는 업그레이드) 업그레이드를 위해 대기열에 있는 확장에 종속된 경우 비 Java 확장도 대기열에 배치합니다.
일반적인 확장 가져오기 결과 메시지
다음은 확장 가져오기 중 일반적으로 표시되는 정보 메시지 및 경고입니다.
Info: Extension <extension-name> is queued for installation on the next server restart because it contains JAR files, and an older version of this extension is already installed.
JAR가 포함된 확장을 가져올 때는 가져오기를 완료하려면 서버를 재시작해야 한다는 이 메시지가 표시됩니다.
Warning: Extension <extension-name> skipped because it is already installed.
Warning: Extension Package <extension-name> may be trying to change the template of the following Entities: <entity: entity-name>
ThingWorx는 엔티티의 기본 사물 템플릿을 변경하는 것을 지원하지 않습니다. 이 경고는 확장 가져오기 중 보고된 사물 템플릿의 기본 사물 템플릿이 변경되었는지 여부를 확인하기 위해 해당 템플릿을 조사할 수 없는 경우에 발생합니다.
플랫폼 재시작 후
재시작 후 응용 프로그램 로그를 확인하여 대기열에 추가된 확장을 성공적으로 가져왔는지 확인하십시오. 대기열에 추가된 가져올 각 확장에 대해 응용 프로그램 로그에 다음 메시지가 표시됩니다.
Starting entity import of /ThingworxStorage/extensions/XSS_Test/metadata.xml
대기열에 추가된 가져오기가 성공적으로 완료된 경우 다음 메시지가 표시됩니다.
*** Import completed successfully
문제가 발생한 경우 다음 오류가 표시됩니다.
Error occurred while installing Extensions from upgrade queue
* 
문제로 인해 대기열에 추가된 가져오기가 실패한 경우 시스템을 재시작하여 이전 확장 버전으로 되돌리십시오.
확장 가져오기 실패 메시지 분석
확장 가져오기가 실패하면 일반적으로 응용 프로그램 로그에는 "확장 가져오기 실패" 메시지가 수신됩니다. 자세한 내용은 오류 로그를 참조하십시오. ErrorLog.log 파일에서 가져오기 실패에 대해 발생한 오류 메시지의 끝에 확장 패키지 가져오기에 실패한 이유가 나옵니다. 가져오기가 비활성화되어 있거나 jar 가져오기가 허용되지 않는 경우 등이 실패의 예입니다. 이 오류를 통해 확장을 성공적으로 설치하도록 적합한 구성 설정을 조정할 수 있습니다.
로그 메시지
ExtensionPackageImportPolicy에서 매개 변수 구성 확인
ExtensionPackage upload attempted while import disabled
"importEnabled": true
ExtensionPackage<XYZ> upload attempted while allow jars is disabled
"allowJarResources": true
ExtensionPackage<XYZ> upload attempted while allow Javascript is disabled
"allowJavascriptResources": true
ExtensionPackage<XYZ> upload attempted while allow CSS is disabled
"allowCSSResources": true
ExtensionPackage<XYZ> upload attempted while allow JSON is disabled
"allowJSONResources": true
ExtensionPackage<XYZ> upload attempted while allow WebApp is disabled
"allowWebAppResources": true
ExtensionPackage<XYZ> upload attempted while allow entities is disabled
"allowEntities": true
ExtensionPackage<XYZ> upload attempted while allow extensible entities is disabled
"allowExtensibleEntities": true
도움이 되셨나요?