我有osgi bundle(第三方):
此捆绑包有服务:
如果我点击此服务(http://localhost:4502/system/console/bundles
- >选择包 - >点击该服务)我会看到以下信息:
[org.osgi.service.event.EventHandler, com.adobe.granite.xss.XSSFilter]
component.id 98
component.name com.adobe.granite.xss.impl.XSSFilterImpl
event.topics org/apache/sling/api/resource/Resource/*
org/apache/sling/api/resource/ResourceProvider/*
Service PID com.adobe.granite.xss.impl.XSSFilterImpl
Service Vendor Adobe Systems Incorporated
Using Bundles com.adobe.granite.security.user (73)
com.day.cq.cq-xssprotection (75)
org.apache.felix.eventadmin (38)
我在这里看到了eventHandler,我想知道这个服务调用时的事件。
我想知道此代码执行此时(事件发生后)?
答案 0 :(得分:2)
event.topics服务属性是OSGi EventHandler services的标准属性,在这里它告诉您这个属性正在侦听以下OSGi事件主题:
org/apache/sling/api/resource/Resource/*
org/apache/sling/api/resource/ResourceProvider/*
如果您想知道何时发生此类事件,您可以使用相同的主题注册您自己的EventHandler
,并在发生这些事件时记录消息 - 除非您的系统已在DEBUG或其他日志中提供该信息。
要找出XSSFilterImpl
执行的代码,你需要调试它,正如Balazs Zsoldos指出的那样。