2015-08-13 75 views
5

我在發現AEM工作流程和請求審批模型的流程。我注意到(在AEM docs上確認)「如果用戶沒有發佈特定頁面所需的權限,則會觸發工作流程以通知適當的人您的請求發佈」。尋找特定事件的EventHandler.topic

試圖找到它是如何觸發的,我發現了ReplicationProcess,它處理激活操作併發送一個com/day/cq/wcm/workflow/req/for/activation事件。這裏是我迷路的地方 - 我所知道的AEM OSGi控制檯都沒有涵蓋這種關係。

如何查找用於處理特定事件主題的事件處理程序?

回答

7

如果您知道事件主題,則可以使用bundleContext查找對適當的EventHandler OSGi服務的引用,例如,使用Groovy的AEM控制檯:

ServiceReference[] sr = bundleContext.getServiceReferences(org.osgi.service.event.EventHandler.class, "(event.topics=com/day/cq/wcm/workflow/req/for/activation)") 

for (i=0; i< sr.length; i++) { 
    println bundleContext.getService(sr[i]) 
} 

輸出

[email protected]

您還可以使用OSGi的費利克斯Web控制檯(服務選項卡)找到它:

web console service tab

+0

非常感謝。這正是我所期待的! –