2015-08-13 81 views
5

Sto scoprendo i flussi di lavoro AEM e il flusso del modello di richiesta di approvazione. Ho notato (confermato su AEM docs) che "se l'utente non dispone dei privilegi necessari per pubblicare una pagina specifica, verrà attivato un flusso di lavoro per informare la persona appropriata della richiesta da pubblicare".Trovare EventHandler per evento.topic specifico

Cercando di scoprire come è stato attivato ho scoperto ReplicationProcess che gestisce l'azione di attivazione e invia un evento com/day/cq/wcm/workflow/req/for/activation. Qui è dove mi perdo - nessuno della console AEM OSGi a me nota copre questa relazione.

Come è possibile trovare il gestore eventi utilizzato per gestire un argomento evento specifico?

risposta

7

Se si conosce l'argomento dell'evento, è possibile utilizzare bundleContext per trovare il riferimento al servizio EventHandler OSGi appropriato, ad es. utilizzando AEM Groovy Console:

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]) 
} 

uscita

[email protected]

È inoltre possibile utilizzare OSGi Felix Web Console (scheda servizi) per trovarla:

web console service tab

+0

Grazie mille. Questo è esattamente quello che stavo cercando! –