Threads in benutzerdefinierten CQ-Diensten sperren sich gegenseitig

Problem

Entsprechende Threads in einigen benutzerdefinierten CQ-Dienste sperren sich aufgrund der Synchronisierung gegenseitig.

Lösung

Erstellen Sie Ihre CQ-Dienste so, dass jeder CQ-Dienst ein eigenes Ticket verwendet (und nicht das Systemticket). Overlay. eigene Implementierung von AbstractService#getServiceTicket(Ticket) und ein separates Ticket mit der Ticket#duplicate()-Methode erstellen.

Wenn Sie ticket.duplicate() verwenden, sollten Sie sicherstellen, dass diese Objekte geschlossen wurden (siehe [1]).

Hinweis:

Das Systemticket selbst wird beim Start von CQ initialisiert und nur beim Schließen von CQ geschlossen.

Weitere Informationen

Dieses Problem tritt auf, wenn benutzerdefinierte CQ-Dienste AbstractService erweitern und AbstractService#getServiceTicket(Ticket) nicht überlagern, um ein separates Ticket zu erhalten. Daher wird dieselbe JCR-Sitzung für alle CQ-Dienste verwendet.

[1] http://javadoc.day.com/com/day/cq/contentbus/Ticket.html#close()

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online