2015-08-13 19 views
5

Ich entdecke AEM-Workflows und den Ablauf des Request for Approval-Modells. Ich habe festgestellt (bestätigt unter AEM docs), dass "wenn der Benutzer nicht die erforderlichen Berechtigungen zum Veröffentlichen einer bestimmten Seite hat, ein Workflow ausgelöst wird, um die entsprechende Person von Ihrer Anfrage zu veröffentlichen".EventHandler für spezifische event.topic finden

Versuchen zu finden, wie es ausgelöst wird Ich habe ReplicationProcess herausgefunden, die die Aktivierungsaktion behandelt und sendet ein com/day/cq/wcm/workflow/req/for/activation Ereignis. Hier verschwinde ich - keine der mir bekannten AEM OSGi Konsolen deckt diese Beziehung ab.

Wie kann ich den Ereignishandler finden, der für die Behandlung eines bestimmten Ereignisthemas verwendet wird?

Antwort

7

Wenn Sie das Ereignisthema kennen, können Sie bundleContext verwenden, um einen Verweis auf den richtigen EventHandler OSGi-Dienst zu finden, z. Groovy-Konsole mit 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]) 
} 

Ausgabe

[email protected]

Sie können auch mit OSGi Felix Web Console (Registerkarte Dienste), um es zu finden:

web console service tab

+0

Vielen Dank. Genau das habe ich gesucht! –