Das Inhaltsfragmentmodell kann aufgrund von Sling-Anforderungsbeschränkungen nicht gespeichert oder geladen werden

Inhaltsfragmentmodelle können nicht gespeichert werden, alle Felder können nicht angezeigt werden oder Änderungen können rückgängig gemacht werden, wenn die Beschränkungen für die Sling-Anfrageverarbeitung zu niedrig eingestellt sind. Dazu gehören in der Regel zwei Einstellungen: sling.max.calls, die steuert, wie viele Backend-Aufrufe der Editor ausführt, und request.max.file.count, die mehrteilige Speicheranfragen steuert. Bei Upgrades werden diese Beschränkungen zurückgesetzt oder durch benutzerdefinierte OSGi-Konfigurationen überschrieben, wodurch Trigger wie TooManyCallsException und FileCountLimitExcededException. Um dies zu beheben, erhöhen Sie das betroffene Sling-Limit, entfernen Sie widersprüchliche Konfigurationsüberschreibungen und bestätigen Sie, dass der Editor korrekt geladen und gespeichert wird.

Beschreibung description

Umgebung

  • Adobe Experience Manager as a Cloud Service
  • AEM Managed Services
  • AEM 6.5 On-Premise

Problem/Symptome

  • Fehlerprotokolle werden TooManyCallsException angezeigt.
  • Fehlerprotokolle werden FileCountLimitExceededException: attachment angezeigt.
  • Felder des Inhaltsfragmentmodells werden nicht gespeichert.
  • Neue Felder werden ausgeblendet, nachdem das Modell erneut geöffnet wurde.
  • Der Editor zeigt nicht alle Registerkarten oder Felder an, wenn das Modell viele Felder enthält.
  • Die Hinzufügen-Schaltfläche fehlt in Dialogfeldern mit verschachtelten Mehrfachlisten.

Ursache

AEM verwendet Sling-Anfrageverarbeitungsbeschränkungen, um sich vor übermäßiger Anfrageausführung und übergroßen mehrteiligen Formularübermittlungen zu schützen. Wenn die sling.max.calls zu niedrig ist, überschreitet der Editor für Inhaltsfragmentmodelle die zulässige Anzahl von Backend-Aufrufen beim Laden oder Speichern komplexer Modelle, was zu TooManyCallsException führt. Wenn die request.max.file.count zu niedrig ist, schlagen mehrteilige Speicheranfragen mit FileCountLimitExceededException fehl, selbst wenn keine Dateien hochgeladen werden. Bei Upgrades oder benutzerdefinierten OSGi-Konfigurationen werden diese Werte zurückgesetzt oder überschrieben, und das Problem tritt nicht mehr auf.

Lösung resolution

Gehen Sie wie folgt vor, um Speicher- oder Ladefehler des Inhaltsfragmentmodells zu beheben, die durch Sling-Anfragebeschränkungen verursacht werden:

  1. Ermitteln Sie, welcher Fehler auftritt, indem Sie die error.log überprüfen.

  2. Wenn das Protokoll “TooManyCallsException” anzeigt, erhöhen Sie sling.max.callsim Apache Sling Main Servlet.

    • Öffnen Sie für AEM 6.5 On-Premise oder AEM Managed Services /system/console/configMgr, suchen Sie Apache Sling Main Servlet und erhöhen Sie Number of Calls per Request schrittweise auf einen höheren Wert, z. B. 2000 oder 3000.
    • Aktualisieren Sie für AEM as a Cloud Service org.apache.sling.engine.impl.SlingMainServlet.cfg.json in Ihrem ui.config-Projekt und legen Sie sling.max.calls auf einen höheren Wert fest, z. B. 2000 oder 3000.
  3. Wenn das Protokoll FileCountLimitExceededException: attachment anzeigt, erhöhen Sie request.max.file.countin Apache Sling-Anfrageparameter-Verarbeitung.

    • Öffnen Sie für AEM 6.5 On-Premise oder AEM Managed Services /system/console/configMgr, suchen Sie nach Apache Sling Request Parameter Handling und legen Sie Maximum File Count auf 10000 fest.
    • Aktualisieren Sie für AEM as a Cloud Service org.apache.sling.engine.parameters.cfg.json in Ihrem ui.config-Projekt und legen Sie request.max.file.count auf 10000 fest.
  4. Suchen Sie nach widersprüchlichen benutzerdefinierten OSGi-Konfigurationen, die diese Werte überschreiben und entfernen oder korrigieren.

  5. Starten Sie AEM neu, wenn dies für Ihren Bereitstellungstyp erforderlich ist, damit die aktualisierten Werte angewendet werden.

  6. Testen Sie das Modell erneut, indem Sie Felder hinzufügen, das Modell speichern und erneut öffnen.

  7. Vergewissern Sie sich, dass alle Felder bestehen bleiben und keine neuen Fehler in der error.log angezeigt werden.

Verwandtes Lesen

recommendation-more-help
experience-cloud-kcs-help-kbarticles