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]).
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()