Threads in custom CQ services lock each other

Issue

Corresponding threads in some custom CQ Services lock each other because of synchronization.

Solution

Build your CQ Services so that every CQ Service uses its own ticket (and not the system ticket). Overlay rep. own implementation of AbstractService#getServiceTicket(Ticket) and create a separate ticket with the Ticket#duplicate() method.

When using ticket.duplicate(), make sure that such objects are closed (see [1]).

Lưu ý:

The system ticket itself is initialized at CQ startup, and closed only when CQ closes.

Additional information

This issue occurs when custom CQ Services extend AbstractService and don't overlay AbstractService#getServiceTicket(Ticket) to get a separate ticket. Therefore, the same JCR Session for all CQ Services is used.

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

 Adobe

Nhận trợ giúp nhanh chóng và dễ dàng hơn

Bạn là người dùng mới?

Adobe MAX 2024

Adobe MAX
Hội thảo sáng tạo

14–16/10 Bãi biển Miami và trực tuyến

Adobe MAX

Hội thảo sáng tạo

14–16/10 Bãi biển Miami và trực tuyến

Adobe MAX 2024

Adobe MAX
Hội thảo sáng tạo

14–16/10 Bãi biển Miami và trực tuyến

Adobe MAX

Hội thảo sáng tạo

14–16/10 Bãi biển Miami và trực tuyến