대형 컨테이너가 분할 JSON 응답을 트리거하면 Adobe Experience Manager에서 구성 요소 이동이 실패합니다.
이 문서에서는 페이지에 대량의 콘텐츠 노드가 포함된 경우 Adobe Experience Manager(AEM)의 페이지 내에서 구성 요소를 이동할 수 없는 이유를 설명하고 임시 해결 방법을 제공합니다.
설명 description
AEM을 사용할 때 페이지 내에서 구성 요소 이동 중 대량의 콘텐츠 노드가 포함된 구성 요소는 예상대로 작동하지 않습니다. 이 문제는 컨테이너의 노드 수가 JSON에 대해 구성된 제한을 초과할 때 Apache Sling GET 서블릿(DefaultGetServlet)에 발생합니다. 기본적으로 이 제한은 1000개의 노드로 설정됩니다. 제한이 초과되면 컨테이너의 .infinity.json 끝점에 대한 요청은 단일 JSON 응답 대신 여러 분할 JSON 파일에 대한 참조와 함께 HTTP 300 응답을 반환합니다. AEM 작성 UI가 이 분할 응답을 올바르게 처리하지 않아 구성 요소 이동 작업이 자동으로 실패합니다.
환경
- Adobe Experience Manager (모든 버전)
증상
- 많은 수의 노드가 포함된 페이지 내에서 구성 요소를 이동하려고 해도 효과가 없습니다.
/container.infinity.json에 대한 요청은 여러 분할 JSON 파일에 대한 참조가 포함된 HTTP 300 응답을 반환합니다. 예:/content/.../jcr:content/root/container.2.json/content/.../jcr:content/root/container.1.json/content/.../jcr:content/root/container.0.json
원인
DefaultGetServlet은(는) 단일 JSON 응답에서 반환되는 노드 수에 대한 제한을 적용합니다. 이 제한을 초과하면 서블릿은 구성 요소 이동 작업 중 AEM 작성 워크플로우에서 현재 처리되지 않는 분할 응답을 반환합니다.
해결 방법 resolution
아래 단계에 따라 문제를 해결하십시오.
/system/console/configMgr의 AEM 웹 콘솔 구성에 로그인합니다.- Apache Sling
GET서블릿(org.apache.sling.servlets.get.DefaultGetServlet)에 대한 구성을 찾습니다. json.maximumresults의 값을 가장 큰 컨테이너의 총 노드보다 큰 수로 늘립니다(예: 1000에서 2000으로 늘리기).- 구성을 저장합니다.
- 구성 요소 이동 작업을 다시 시도하여 이제 성공적으로 완료되었는지 확인합니다.
- 이 문제에 대한 영구 수정 사항과 관련된 업데이트는 향후 AEM Sites 릴리스 노트를 모니터링하십시오.
recommendation-more-help
experience-cloud-kcs-help-kbarticles