구현

WARN 메시지는 AEM as a Cloud Service 및 로컬 AEM SDK 인스턴스에 모두 기록되며 다음과 같습니다.

[127.0.0.1 [1705061734620] GET /content/../page.model.json HTTP/1.1] org.apache.sling.models.jacksonexporter.impl.JacksonExporter A ResourceResolver is serialized with all its private fields containing implementation details you should not disclose. Please review your Sling Model implementation(s) and remove all public accessors to a ResourceResolver.

이 로그 메시지는 /content/…/page을(를) JSON으로 serialize하는 동안 ResourceResolver이(가) 이미 serialize되었음을 의미합니다. /content/../page.model.json을(를) 요청하면 ResourceResolver의 필드가 정확히 어디에 표시되는지 확인하고 이를 사용하여 이 동작을 실제로 트리거하는 Sling Model 클래스를 식별할 수 있습니다.

NOTE
AEM 핵심 구성 요소는 이 문제의 영향을 받지 않습니다.

요청된 작업

Adobe은 모든 고객에게 이 문제의 영향을 받는지 애플리케이션 로그와 코드 베이스를 확인하고 필요한 경우 사용자 정의 애플리케이션을 변경하여 이 경고 메시지가 더 이상 로그에 표시되지 않도록 할 것을 요청합니다.

대부분의 경우 이러한 필수 변경은 정면으로 진행된다고 가정합니다. ResourceResolver 개체는 JSON 출력에 전혀 필요하지 않습니다. 이는 일반적으로 프론트엔드 응용 프로그램에서 필요하지 않기 때문입니다. 즉, 대부분의 경우 ResourceResolver 개체를 Jackson에서 고려하지 않는 것으로 제외하는 것으로 충분합니다(규칙 참조).

슬링 모델이 이 문제의 영향을 받지만 변경되지 않는 경우, ResourceResolver 개체의 serialization을 명시적으로 사용하지 않도록 설정하면(두 번째 단계인 Adobe에 의해 실행됨) JSON 출력이 변경됩니다.

Experience Manager